This is an attempt to bring the size of Parser.cpp down. No code changes, just moves and some explicit template instantiations now that we're using them from a different file.