Finish MC3 class and add data writers

Writing data to an output (e.g., MCMC, event, chain swap, etc.) is now
handled by separate classes.
Initialize tree completely within Tree class

This fixes a bug in which a proposal calls tree methods before the tree
was completely initialized. It is not a perfect solution. The tree class
should have no knowledge of which type of model is being used.
Add data writer to output proposal acceptance info

This feature used to be present, but was lost during refactoring. User
must add the option "outputAcceptanceInfo = 1" in the control file in
order to output the acceptance info. The default file name is
"acceptance_info.txt", but can be changed with the option
"acceptanceInfoFileName = xxxx.xxx", where xxxx.xxx is the name of the
file.
Doc: Add entry on acceptance info output
Acceptance info should only be output if desired

Acceptance info was always being written, but this should only happen
if the option outputAcceptanceInfo is set to 1.
Remove checks for NaN (seems like it's not needed)