Add limited name mangling to commands module.

This resolves rule name conflicts that could arise when compiling
base_grammar.water itself. The inner rules base_grammar uses will always
have the form __inner_#, while any rules added after the base grammar is
loaded will have the form _inner_# (different number of leading
underscores).