Trying out Hungarian notation (the good kind).
Update copyright for 2013.
First cut at edge transitions.

Draw beaches where a water and non-water tile meet.  The code for this
needs some serious refactoring.  Doesn't handle the overdraw space at
the map edges.
Simplify computation of tile neighbors.
Trying out more edge transitions. Needs work.
Use enums for terrain types and neighbor direction

Includes a neat trick for treating an enum class like a container for a
range-based for-loop.
Simplify map drawing loop.

No more separate rules for even and odd columns.
Greatly simplified edge transition logic.
Start drawing edge transitions in the overdraw area.
Ascii art for edge transitions in overdraw areas.
Better grass tile transitions.
Completed tile transitions around the map edges.