Major update

- Make qualification logic pluggable.
- Make segmentation logic pluggable.
- Add possibility to store qualification and segmentation for subjects.

These are all abstract implementations. Shopify has to be updated to make use of these new features. Most of it is backwards compatible (no storing, segmenting using hash, and everybody qualifies). Once this is merged I will update Shopify to make use of these new features.

@BenDoyle @jamesmacaulay @kmcphillips Please also focus on coding style :)