BasicSemanticChecks.checkGrammarName: allow null filenames.

checkGrammarName assumes that all grammars come from actual files, but
grammars loaded using Tool.parseGrammarFromString use input streams
without source file names. This patch changes checkGrammarName to only verify
that grammar names and file names correspond when a file name is
available.
Add aphyr (Kyle Kingsbury) to contributors list
Merge pull request #495 from aphyr/fix-load-string-grammar-npe

BasicSemanticChecks.checkGrammarName: allow null filenames.