refactor: splitting do_print() out of command.hpp
refactor: splitting print_progress() out of command.hpp
refactor: splitting run_markov_chain(); needs tests
refactor: splitting warmup() out of command.hpp; needs tests
refactor: splitting sample() out of command.hpp; needs tests
refactor: splitting init_* functions out of command.hpp; needs tests