While it might not be that common to have a DNS server listening on a
non-standard port for DNS queries, it's also useful for local testing.
I used the opportunity to add model migrations as well to enable smooth model
upgrades.
binder has been broken to work with signatures created with anything but
dnspythons default TSIG algorithm, which currently is HMAC-MD5.
This commit fixes that by properly using the algorithm stored for the key.
The error handling for broken TSIG keys wasn't working for two reasons:
* the import of binascii has been missing, producing a NameError once an
exception occured
* The exception handler was refering to a non-existant variable key_name.
This commit fixes both issues.
* Added help texts to all fields to make adding servers and keys in the admin
interface more convenient.
* Added a default ordering for servers and keys.
* Added unique constraints, so there can be only on key per name and one server
per hostname as this has already already been an implicit constraint in the
code.