Explicit Helper Fields (Rewrite to fix #20)

I have rewritten `MarkupField` to work with Django 1.7+ while remaining backward compatible with Django 1.6 and below. This follows the recommendations of Andrew Godwin but uses the original code as a strong template.

The interface accepts all old initializations with only a single difference: users will now have to either 1) specify an explicit `markup_type` in the field initialization or 2) specify an explicit `markup_type_field`. The days of being able to have an editable markup type without a dedicated and user-defined markup type field are over.

The field can still operate without a `rendered_field`, however. It will simply render the markup for every instance of the field if it cannot save it to the database. This supports old configurations, however, users can (and are encouraged to) specify a `rendered_field` at initialization which will save to the given field name.