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.
Added Esperanto translation.
Merge pull request #217 from batisteo/esperanto-translation

Added Esperanto translation.
Skip DeconstructTestCase with Django < 1.7
Merge branch 'blueyed-deconstruct-keep-non-defaults' into develop

Conflicts:
	taggit/managers.py
Fixed Django <1.7 support.
Test that default South configuration raises error
Raise error if taggit.migrations imported for Django <=1.6

Fixes gh-219.
Merge pull request #222 from treyhunner/south-error-on-import

South error on import
added italian translation
Merge pull request #224 from barmassimo/italian-translation

added italian translation
Increased versions and updated changelog.
Fix a typo in documentation
Merge pull request #233 from Psycojoker/patch-1

Fix a typo in documentation
Added missing files to MANIFEST.in
Used unicode_literals in migrations.
Added japanese translation.
fix (1_7.W001) MIDDLEWARE_CLASSES is not set.