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