Theory And Algorithms To Learn, Propagate, And Exploit Uncertainty For Stochastic Optimal Control Of Dynamical Systems