Revert "[Truffle] Top-level methods should be public by default."

* This reverts commit 6be4fe268863bfdcbcc0e7a728f49223b4c4d1ba.
* They should be private: $ ruby -e 'def m; end; p self.private_methods(false)'
Geez. Make a more realistic error message
Remove newline unwrapping because I cannot get any tests to fail with it gone
[Truffle] Set top-level visibility only in RubyContext.load and TruffleBridgeImpl.execute.

* Since the meaning of ParserContext.TOP_LEVEL is unclear.
* De-duplicate one call to RubyContext.execute.
enumerator, rational, and complex are considered loaded at boot.
Next parser generation will pick up these comments but they are only for my notes
All ArrayNodes for args list are lightweight.  Simplify buildCallArgs a little more
Remove some arity-split AST nodes which we no longer use
Remove lightweight flag from nodes since we no longer use that information
Separate attrassign call arg building from the rest and give examples of three actual cases
Whoops did not remove dead lightweight attr
- Use primitive array instead of arraylist
- null/empty args uses same instance for call arg list
- simplify logic of buildCallArgs since it no longer needs attrassign logic in it
Add finally in case Thread.yield produces an exception.
Move Thread#exclusive into Java, to avoid Mutex dependency.
Depollute LOADED_FEATURES.

* enumerator.jar, complex.jar, rational.jar are now "provided" as
  faux already-required libraries.
* Do the same for jruby.jar and java.jar, standard since 1.7.
BUG is less scary than ERROR, and these aren't necessarily fatal.
Ensure dir exists before calling javac here.
Allow Symbols to GC.

This is a somewhat naïve change, but it appears to maintain a
stable memory profile during the following code:

```ruby
i = 0; loop { i.to_sym; i+=1 }
```

It also passes test:mri, test:jruby, and spec:ruby locally.

Could it really be this easy?