Adds test program.

Based on issue #55 from Kim Bruce
Adds detection of duplicate declarations.

As requested by Kim, the compiler now looks for and
reports duplicate declarations.   Implementing this re-surfaced
the bug where fresh methods were not having their method-lists
written to the get file, so this commit fixes that bug too.

Also fixes a problem where module names in the generated JS
were not being escaped; this occured when a module not in . was
compiled, because the module name contained /
Changes failing test of recursive class.

Comment- out code that will put it into an infinite recursion.