100% Completed IncrementalPruning.

In addition, this commit modifies how ValueFunctions work, since
now they store both the values, and the actions related to those
values. This makes sense as values alone offer little useful
information. In addition, this makes it consistent with POMDP value
functions which are pretty much required to store the actions they need
inside or recomputing them is nearly impossible. The old ValueFunction
type still exists, but it was renamed MDP::Values.
Added test for obtained ValueFunction in ValueIteration.