Drop SPIs and other 0.7 cleanup

Cleanups for 0.7, including dropping SPIs (#84) and cleaning up class loaders (#57).

Left to do:

- [x] Make better names for SPI classes
- [x] Review locations of static constructor methods
- [x] Review return types of factory methods
- [x] Rename satisfaction factory methods