Allowing the user to initialize the sampler with model parameters

I cherry-picked some of the useful functionality from the ceres branch to allow the user to initialize the sampler model parameters (e.g. from a minimizer).  The default user interface should not change, as the initialization parameters are intended to be optional arguments.  The main question I have is if we need to initialize the kalman filter in Sampler::Run.  I left a comment in the code to this effect. 

Note the unit test has been updated to check all the optional calls to the sampler subroutines.