Rework almost all doxygen comment blocks.

I haven't used doxygen in years, hate the cruft that it adds, and have
switched to Chromium's commenting style.

This leaves a few in gameexe.h, but those are tied to a code change.
Cleanups on gameexe.h
Use for range loops by renaming LazyArray::allocated_{begin,end}.
Use more for range loops.
Remove boost::noncopyable.

As I learned in 9e74fda5a, boost::noncopyable isn't really effective at
saving you from yourself.
Standardize on Google's TODO(username) format.

This removes more exceptions from run_cpplint.sh
Move off ptr_map<> in module dispatch.

Experimenting with the new std::unordered_map<>. This works fine on
Linux, but breaks one single test on OSX. Solved with #ifdefs for now.
Use std::copy_n instead of an implementation detail of boost.

std::copy_n is now part of the C++11 standard.
pause() should start new pages on all open windows.

Previously, we were only starting a new page on pause R_COMMAND_MOD=0
mode. We should have been starting new pages on all open windows
instead. This is the root cause behind not clearing the main text window
when the user clicks on a gloss which overflows the gloss window.

Closes GH-5.
Don't snapshot empty pages for scrollback.

In the English Kanon patch, if you click a gloss, and then go forward a
few lines, and then look through scrollback, you'd have seen an empty
"page" that didn't have a text window. Add a check during snapshot where
we won't add an empty TextPage to the list of snapshots.