Add unique_with option for duplicate slugs.

Switches from a decider argument to a slugs generic relation
in order for this to work. Includes additional tests.

Uses more code from <https://pypi.python.org/pypi/django-autoslug>.
Still generate uniqueness lookups when a uniqueness field is empty.

In our specific example, we have Sections, with uniqueness on the tuple
of (parent, instance). parent is optional and can be None, but we still
want uniqueness of the tuple when that is the case.
Merge remote-tracking branch 'origin/patch-1'