Handle non-default kwargs in deconstruct

According to the documentation [1], non-default kwargs need to get
returned.

1: https://docs.djangoproject.com/en/dev/howto/custom-model-fields/#field-deconstruction
Merge branch 'develop' into deconstruct-keep-non-defaults

This probably fixes the travis builds.

Conflicts:
	taggit/managers.py
Handle "to" with deconstruction

This accepts "to" as kwarg, and provides it via `deconstruct`, and also
changes `deconstruct` to always provide/set "through".

This is more explicit and since the manager always uses a through model
internally, this describes it better.
Skip DeconstructTestCase with Django < 1.7
Merge branch 'blueyed-deconstruct-keep-non-defaults' into develop

Conflicts:
	taggit/managers.py