Split out loaders into separate subpackage
Remove read only mmap reader

See the commit message from b265e60c5f4c0b1e8e9e4343f5f2300b5e017bf0.
It's been sitting for over a year and a half and I've heard nothing
about this so I'm removing it.

There was no public interface for this so this shouldn't affect anyone
using the public API.
Switch to extracted out mmap data loader
Add missing exceptions.py file
Add simpleloader that does not use mmap
Give better error messages when db fails to load
Change loadtime script to just create random dbms

There will be a separate script for measuring load times.
Add loadtime script

This version takes an already existing db and times
how long it takes to load.
Use simplefileloader for java

Still not 100% for java.
Remove bytearray usage from db module

Actually faster *not* to use bytearrays internally.
Make __init__ args required

Move the default selection choices into a separate
factory function.
Try to import mmap loader then fall back to simple loader

Rather than making it about the platform, make it about
what features are available.  If mmap is not available, then
use the loader than does not have mmap.
Fix mmap test to patch proper constant

Yay patching...
Merge branch 'mmap-free'

* mmap-free:
  Fix mmap test to patch proper constant
  Try to import mmap loader then fall back to simple loader
  Make __init__ args required
  Remove bytearray usage from db module
  Use simplefileloader for java
  Add loadtime script
  Change loadtime script to just create random dbms
  Give better error messages when db fails to load
  Add simpleloader that does not use mmap
  Add missing exceptions.py file
  Switch to extracted out mmap data loader
  Remove read only mmap reader
  Split out loaders into separate subpackage