mk: Add some serious documentation and 'make help'
mk: Remove the concept of 'snapshot transitions'

This way of doing snapshots hasn't been used since 2011.
mk: Move most of Makefile.in to .mk files

Because the build system treats Makefile.in and the .mk files slightly
differently (.in is copied, .mk are included), this makes the system
more uniform.
mk: Add NO_MKFILE_DEPS for turning off rebuild from makefile changes