Fix casting in form to_python() method

NetAddressFormField.to_python() was calling "self.python_type()" to
cast the form value to an IP() object. Unfortunately, for is no such
method defined here, or in the Django forms.Field() class, at least
in 1.4 and up
Add South introspection rules
Add test for NetAddressFormField
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.
Added netaddr to requirements in setup.py as well
Merge pull request #13 from jimfunk/master

Fix to_python() in form fields and add South introspection rules