Layout refactor.

Removed most instances of // --- // and replaced sections with individual modules.
Bashed stale forwards.hpp.
Added lots of unit tests, some utf-8 specific.
Implemented utf16, passes std unit tests, added utf16-specific unit tests.
Renamed utf_* to utf*.
Renamed files named *utf_* to *utf*.