added ability for user specified step taking algorithms to Simulated annealing
Edited documentation for user defined step functions. Changed step function member variables to pointers.