Changed naming scheme from LeftTopRight to LeftMidRight
More renaming, instantiated more templates in DParse.d

Also added helpful information to exception message
Converted monolithic string mixin to more readable aliased format
A little more mixin alias magic to make templates more readable
Added HeadFoot template
Added a bit more rigor to template params, interfaces, contracts
More strictly following contract-based paradigm

Exception throwing was removed, assert messages were added, and
error checking code is delegated completely to in-block for
most functions.