Add support for custom user model

Add support for custom user model as suggested in #4. Because this app is so dependent on the user model, the tests are tricky...they should run successfully for most cases though.

I've also included a new setting: `INVITER_FORM_USER_KWARG`. This allows to name de extra kwarg to pass to the register form (defaults to `instance`).  Why? 
I wanted to use `django.contrib.auth.forms.AdminPasswordChangeForm` or `django.contrib.auth.forms.SetPasswordForm` for the `INVITER_FORM`. But because these forms are expecting a `user` kwarg instead of `instance`, the test would fail.