Changed the way Class members are defined in the generated JS to be less
verbose. At this point, this still does not work for enums, inner types,
anonymous types, and global members.
include proper handling of $typeDescription for subclasses into
stjs.extend
fixed generation of anonymous classes
Fixed handling of inner types in most cases.
Enums work in all situations except as doubly nester inner types
Throw an exception (as expected) when trying to generate an instance
initializer block.
Changed the expected output of one of the global scope tests
Global scope fields and methods are now handled correctly.
- generate static initializers correctly, and make sure that their local
variables don't bleed into the global scope
- Support running the main method from @GlobalScope classes.
Merge branch 'master' into alternate-extend

Conflicts:
	generator/src/test/java/org/stjs/generator/writer/innerTypes/InnerTypes12.java
	generator/src/test/java/org/stjs/generator/writer/innerTypes/InnerTypes13.java
	generator/src/test/java/org/stjs/generator/writer/innerTypes/InnerTypesGeneratorTest.java
Somehow, I lost a unit test during the merge. Add it back
Almost all the tests pass. The only remaining one is generating JS code
Inner types inside anonymous types.
Added more unit tests for the deep inner types
All the unit tests pass again, including the new nester inner types
ones.
removed unused method
worked around a strange difference of behavior of some unit tests
between when they run from eclipse and when they run from maven.
Do not attempt to generate abstract methods in JS
Discovered a problem when a static field is initialized with the value
of another static field in the same class.
Changed the approach on how to do a proper stjs.extend again. We now use
an initializer function instead of two initializer object. The new way
is more flexible, and looks cleaner too.
stjs.ns() statements were not generated when the annotation was placed
on Enums.