Use netaddr module to handle MAC addresses.

This solves the issue where the default lowercase MAC addresses returned from
Postgres were considered invalid in forms, even though existing values
were represented in lowercase. This also allows for common alternate formats
such as EUI64 (Windows-style) and the triple-dotted format used by Cisco.

The netaddr module is used since IPy has no equivalent functionality. However,
netaddr does provide the functionality IPy is used for...

A number of tests were added for MAC address fields and for both MAC and
IP forms. An issue where to_python() was not properly raising
ValidationError when checking for form validity was also fixed as a result.