Pluggability

1. Make configs pluggable
2. Make back ends pluggable
3. Make spicedham a class


@willkg r?
This should get a doc-string and then the doc-string can get extracted into API documentation. That's a lot easier than maintaining external docs in the README plus it means the documentation is in the code alongside the thing it's documenting.