Add Closeable interface to RandomAccess streams

By having the Closeable interface implemented, locations
where "close()" is not called in a finally can be detected
by findbugs, eclipse, etc.
Introduce Deser interface for new implementations
Add IOException to Deser interface for quickser
Move to quickser implementation. Failed
Refactor QuickserDeser for other RAIS/RAIS usage
Add Class to readerFromBytes in prep for protostuff
ProtostuffDeser implementation
Add JDKDeser
Revert to KryoDeser with more careful tempFile renaming
Make Kryo fields/classes public for cheap config
Revert "ProtostuffDeser implementation"

This reverts commit 0c210b36524fb547724b4de890f9bcd4be767058.
Remove unused Deser implementations from Memoizer
Prevent memoization on short elapsed times
Override default serialization for RandomAccessInputStream
Also close FileIOStreams
Add close method to Memoizer

The close method is likely not needed, but is more
strictly correct. It was added in an attempt to find
the cause of a segfalt.
Make OBFReader.Inflater transient

The finalizer of the java.util.zip.Inflater class
was frequently though non-deterministically causing
the loading of memo files to segfault the JVM. By
marking the field transient, it's no longer being
serialized, and therefore not deserialized.
Add configurable directory to Memoizer

If directory is set, all files will be created as absolute
paths under it with all parent paths automatically created.
If the directory is set but does not exist, memoization is
disabled. This is useful for periodically turning off memos
for comparing performance.