Added method to copy bytes and advance position
Link should extend Number because that is the Object that is actually
returned from Values and therefore should be treated like a number in
secondary index sorting
use reflection to get test instances
Created package for legacy models, deprecated some stuff, etc

This is the first commit in a move to the new storage format. In this format, the
model classes no longer extend Storable since they don't hold the timestamp directly.
Prepared Write for new storage format
Moved over Store interfaces to storage package
ported Limbo
Only use 1 byte to store type oridinal since the value will be less than 127. This
will save 3 bytes of space per Write
Only use a byte to store the Type oridinal since the value will be less than 127.
This will save 3 bytes of space per Value
Only an int to store the Position index if the value is greater than a byte
or a short. Otherwise use a byte or short where appropriate
Remove deprecated import
Use guava Hashing infrastructure for hopefully bless collisions
Check if parent file exist before trying to make the directories
javadoc change
Make an enum since only one instance should ever exist
Add method to get simple name of file
Added more stuff for new storage format:

Revision:
A wrapper for a locator, key and value that is stored in a Block

Block:
Contains Revision. This is how the Database stores data. This has lots of logic
for efficiently retrieving data

BlockFilter:
A wrapper for a bloom filter that is used in the Block

BlockIndex:
The index that records the start and end position for a locator and possibly
key in a sorted block

ByteableComposite:
A way to combine the ByteBuffers of Byteable objects

Syncable:
Can be synced to disk, but does not necessarily have to be Byteable

ByteableFunnel:
Used in a BlockFilter
Change Value.Sorter to an enum
move block sorter to block as an inner class
Added NaturalSorter which can be used to sort files with longs as
their filename.