Output errors using Diagnostics.
Don't treat a Hash as a nodelist
Fix parsing escaped values inside double-quote strings.
Fix escapes inside squoted strings.
Allow comment before implements.
Allow lower case class names. Also allow dots instead of colons in type names.
Handle Array for unnamed annotation value

Closes #4