Distributionally robust optimization and its applications in mathematical finance, statistics, and reinforcement learning