Pluggability

1. Make configs pluggable
2. Make back ends pluggable
3. Make spicedham a class


@willkg r?
I'm not sure I understand why it could be None here. Seems like a bad thing to have no configuration.

Also the docstring is now out of date.