Handle duplicate field names between subclass and superclass.

Patch from Christophe Foket on the mailing list.
compare FieldValueDispatch objects based on CGNode as well
add method to get a PointerKey for a global
add an array test that doesn't quite work
fix test to properly check reachability
rewrite to make hardest test appear last
Generate proper InstanceFieldKeys for property accesses with Numbers.

Note that this change actually breaks a couple of our unit tests.  But,
it seems they were only passing by accident before anyway, and this change
at least leads to a more consistent handling of dynamic property accesses
with String vs. Number property names.
extract some generally useful code from ModRef
Code to compute transitive lexical accesses of methods.

The TransitiveLexicalAccesses class computes the lexical variables
read by a CGNode and its transitive callees.  Also, a basic test case.
add support for lexical writes
renamed classes to make relationship to mod-ref analysis clearer
javadoc
organize imports
publicize method makeClasspath().  deprecate quoteStringIfNeeded()
1) added InstanceKey.getCreation sites and its implementations
2) fixes for issues with keys representing dynamic properties
  i) all properties are converted to strings, in an approximation of JS
semantics
3) fix to handling of instance keys representing numbers in binary +;
now it understands that adding constant keys of type Number requires
adding a non-constant Number key to the lval
added date-property.js
small Javadoc fix
Merge branch 'lexical-access-info'
test fix
javadoc