Allow custom benefits to be registered and used in offers
This alters the benefit model to allow proxy class to be registered.
The dashboard flow is tweaked to allow such classes to be selected once
they've been registered.
A dummy custom benefit is included in the sandbox.
They need registering using oscar.apps.offer.custom.create_range which
will create the model instance with the correct proxy class path.
After that, they will be available to see in the dashboard (but not
editable) and can be used in offers.
Fixes #385