Fully working version.

Current issues:
* MDP ValueIteration fails when future discount is too low (high
gamma). The state's values overflow before the algorithm converges.
* Because it can only plan with high future discount. The agent has a
tendency to exit the map immediately