init - added a BaseState abstract class including all the shared
contents of the different States with differing stepping methods.
init - added several (failed) other attempts at making a better stepping
algorithm in State, these were all first order, but symplectic. More
work needed here.
init - added a test class for the FreeHamiltonian, to verify that it
works.
modified - changed the State to have a reset function which takes in an
argument for which states it should start in.
improved - added a factorial function in Combinatorics.