use Nashorn (and Java 8) instead of Rhino (and Java 7)

notes:
- Java 8 drops the concept of PermGen, hence the -XX change
  in the sbt launch script
- Nashorn, unlike Rhino, has JSON built in, so we don't
  need to depend on json2.js anymore
work around Nashorn bugs involving integer keys

bug #1: affects JSON.parse. for objects with integer keys, parser
sometimes invents nonexistent entries with null values

bug #2: when iterating over key/value pairs in an object, if the keys
are integers, then Nashorn will sometimes hallucinate nonexistent
entries with undefined values
rename Rhino -> Nashorn everywhere
update comments on Nashorn bug