Pluggability

1. Make configs pluggable
2. Make back ends pluggable
3. Make spicedham a class


@willkg r?
I'd rename this file to just "backend.py" since it holds all the backend infrastructure that's required.