[Truffle] Move super call nodes into their own package.
Parameterise the rest of the AST nodes for accept.

Hadn't noticed that most of them hadn't been updated, as I was mainly using Node#accept.
IR: Fix one IR regression from my defined changes
Remove IRBuilders CodeBlock params since we can just capture them
[Truffle] Modify the UniqueMethodIdentifier to be a general place to store immutable method properties.
Shrink RubyThread.Event object in prep for a proper queue.
Add new, allocation-free callback path for blocking operations.
Improved impls of Queue and SizedQueue.

* Queue is now based on JDK LinkedBlockingQueue
* SizeQueue is now based on JDK ArrayBlockingQueue
* Using the new RubyThread task logic
Early start on handle_interrupt logic.
Implement thread interrupts in the same way as MRI.

In order to support Ruby 2.1's ability to disable thread
interrupts (async exceptions, etc), we need to match their
mechanism of dispatching those interrupts. This is a first attempt
to mimic the MRI way.
Fixes to Fiber#alive? logic.
Raise immediately if target thread is current thread.
Minor cleanup.
Shrink RubyThread.Event object in prep for a proper queue.
Add new, allocation-free callback path for blocking operations.
Remaining fixes to get specs green with new interrupts.
Fix up botched merge.
[Truffle] Move more state into the shared method object.
[Truffle] Use some properties from the shared method instead of passing them around.