Handle multiple values from get_iucr()

get_iucr() returns a list.  Set the appropriate model fields
only if there is only one matching IUCR offense for the statute.

Addresses https://github.com/sc3/cook-convictions-data/issues/5
Merge branch 'master' into crime_categories
Refactor custom QuerySet and Manager classes

Move custom QuerySet and Manager classes.  Add some class methods
referencing other model classes to avoid circular imports.

Use django-model-utils' PassThroughManager for the manager of
the Convictions model to avoid boilerplate proxying methods to
the custom QuerySet.
Don't cascade when deleting convictions