Extensive changes to move main MCMC steps into a more abstracted
framework, making it easier to change things around.
Indel moves are now handled via the coreModel object, which is of
McmcModule type. This makes it very easy to add, remove and combine
different moves for the indel parameters, specified in the
initCoreModel() function. 

Among the new moves specified here are some reparameterised versions of
the (lambda, mu) moves, to try to deal with the high correlation between
lambda and mu. 

Also, the proposal scheme for these parameters has been
changed from a
uniform random walk to a logistic or multiplicative scheme. Uniform
could also be added on to the list of possible options.

The plan is to now move the other sampleX() functions for the core model
into the coreModel, which will allow, for example, easy addition or
removal of new topology moves in the future.
Substitution moves now added to the coreModel. 

Also some rearrangement in Mcmc.java so that all the moves (including
ModelExtension moves) can be called via coreModel.
Edge moves added to coreModel.
All MCMC moves now incorporated into coreModel. Testing now in progress.
After some bugfixes, the new version is running without any apparent
errors.

Still testing to see whether it's behaving as expected though.
Added a UniformProposal for the branch lengths, so it's the same as what
it was previously.
Finished rearranging MCMC framework, and tidied up Mcmc.java, adding in
a bunch of javadoc comments.
Improvements to outputting of information at the end of the MCMC run.
Some tweaks to StructAlign move weights.

Beginning to add in changes from structalign branch before merge,
starting with the TopologyMove, and then adding in the missing functions
in Vertex.java.
Still in process of merging changes from statalign branch.
All changes from structalign branch now incorporated. Had to make
various methods in Vertex.java public rather than package visible,
because the core MCMC move classes live in a subpackage of
statalign.base, and there is no way of allowing subpackage visibility.
If this is a problem then we could put all the base MCMC moves in
statalign.base instead of statalign.base.mcmc
Some manual tweaking of move weight parameters to improve effective
sample size.
Merge branch 'reparameterisation' into structalign