Hide some types that should be internal
Make sure we can't get into any cache method before initializing

Note that methods that call into _inflightCache don't have to initialize
because the _inflightCache method does it for us
Write a migration to fix issue #90
Actually Fix The Bug(tm)
Merge pull request #108 from akavache/schema-versioning

Schema versioning