Use truffle techniques in the example

This shows how to use Truffle with your Presto example.  Some highlights:

* The Truffle DSL is used to add specializations.
* In order to make accesses to the Slice datastructure fast, we had to "trufflize" it a bit.  For example, "Slice.getLong(int)" contains a check which, if it it fails, creates an IOOB-exception.  This is quite costly and rare, thus we want to teach Truffle not to include it in a compilation (CompilerDirectives.transferToInterpreter()").
* speedup is about 2x compared to the PureJava version.


Feel free to ask if you have any questions!