Updates for dmd 2.62
Use ubyte instead of byte
Use range functions
Fix exception line number
Restructure unittest
Allow underscore in identifier
Provide parsing line number in error
Misc code cleanup
Fix parsing root options
Fix parsing inline options
Fix enum parsing

handles comments, ignoring options, and enum ending with \n}
Forward proto comments to output
Throw exception for type classification
Fix accepting identifiers starting/ending with underscore
Merge pull request #1 from JesseKPhillips/refresher

Pull in Refresher from JesseKPhillips to update ProtocolBuffer to being compilable with the most recent D2 compiler.