Move code to prepare for multisim class
Some write_checkpoint code organizes cooperation of behavior from
multiple modules so it is too high-level to be in a low-level module
like fileio. mdoutf.cpp is the caller of write_checkpoint so is a
decent spot to put that code. Other parts of write_checkpoint are
quite low level and share implementation details with the
checkpoint-reading code, so should stay in checkpoint.cpp.
Moved misplaced multisim code from md.cpp and md_support.cpp to
the multisim.cpp file, resolving some TODOs.
Fixed some wrong declarations for vsite code.