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.
Adds visibility annotations

Two dialects were missing their visibility annotations.
This went un-noticed because visibility defaults were previously
not implemented correctly.
Parser no longer loops when class omits closing }.

Also adds a check (copied from the mwh fork) that the first line is
of the program is not indented.
Adds missing .out file for test t15b

This was in my local directory but not added to github :-(
Changes fileStream 'iter' to 'iterator'.

Also changes 'havemore' to 'hasNext'.
Adds tests.js to Travis test script

Also adds node_js (version 0.10) to languages.
Changes fallback module path in grace-node.

This is primarilly for Travis CI, so that tests.js can find modules.
Fixes id-resolution for top-level inheritance.

An inherits statement at the top-level of a module now adds the
inherited identifiers to the current scope, as it should.  This
works with imported identifiers, provided the imports is described by
a .gct file.  Thus, it won't work with inheritance from "built-in"
modules, which at present have no .gct.

Note that this commit does not change code generation.  If a name
is not known to be inherited, the method that it refers to can still
be requested using self.

This commit adds a test for inheritance, and also some tests for
duplicate names, which should have been committed as part of b604a1e
Changes message in grace-node to warning.

Using console.warn rather than console.print prevent the
message from disturbing the test runs.
Replaces lists by ranges in grace lib.c

Also fixes bug in substringFrom()to that manifested when
called with From argument of 0.
Tests for inheritance at the top level.

Various changes to try to force the creation of the .gct file
for compiled modules, and the import of that file when the
module is imported.

This still doesn’t work smoothly.  To make the tests run,
the Makefile forces compilation of printc before the tests.
Changes make and test procedure.

Updates makefile to build got in the tests directory, and
harness not to delete the imported .gct
Suppresses warning for CI environment.

No point in warning Travis about GRACE_MODULE_PATH being unset.
Makes identifiers defined in type decls public.

They were not public, and more importantly, they
were not written to the .gct.
Work in progress.

Starts to create isFile.js.
Improves asString for modules.

All modules have the same “class”: module,
but different values.  Maybe?
Adds auxiliary file to tests.

printc.gct needs to be pushed to the web server if
tests are to run clean in the browser.
Moves t152_inheritsReturnObject back to tests.

This test now passes!
Also adds missing .out file for t15c
Adds stub io.grace

This file defines the types and has dummy bodies for the methods.
It creates a suitable .gct for the io module.