fix: check uniqueness against deleted objects

Fields uniqueness was check using the filter method of the queryset, which hide the deleted objects. I included the ``_perform_unique_checks`` method of the model and added ``all_with_deleted`` before the ``filter`` call.

Unit tests added, wainting for travis.
Meta should be just after fields/managers (Django coding style: https://docs.djangoproject.com/en/1.7/internals/contributing/writing-code/coding-style/#model-style)