Fix #364 for good: remove magical Rhino top-level package objects.

Instead of hard-coding a list of known problematic top-level
package names, we detect what needs to be removed by listing
the properties in the Packages object.
Merge pull request #1202 from sjrd/fix-tlds-in-rhino

Fix #364 for good: remove magical Rhino top-level package objects.
Add replace and deleteCharAt methods to StringBuilder and StringBuffer
Merge pull request #1205 from l15k4/replace-deleteCharAt-StringBuilder

Add replace and deleteCharAt methods to StringBuilder and StringBuffer
Fix #1207: Good toString for OptimizerOptions
Merge pull request #1209 from gzm0/optimizer-options-tostring

Fix #1207: Good toString for OptimizerOptions
Use a Traverser in JSASTTest instead of a Transformer.
Using a Transformer in scalajsp is overkill.

It only needs to transform the top-level node, so a simple
function is enough.
Refactor Transformer with a single method transform().

Instead of overriding transformStat() and transformExpr(),
subclasses should now override transform(). This method takes
a boolean parameter telling whether it's used in statement
position.

Additionally, transformations of ClassDefs and their defs is
moved in a separate subclass ClassTransformer. This is actually
not used at all in our current codebase, but other people could
come up with use cases.
Merge pull request #1203 from sjrd/refactorings

Refactorings