Make entry_points a dictionary

Also fix it in general
Rewrite bayes to abstract away the backend
Make the model appropriate for a key value store
Make the package api

Also imports plugins
Load appropriate backend according to the config
Add a base class for the backends
Add a sqlalchemy backend