Customizable LoginRequiredMixin

The LoginRequiredMixin was lacking the ability to customize login_url, redirect
field, or redirect path per view because it was using a decorator. Since these
things need to change based on _instance_, we are using the redirect_to_login
view directly instead of the login_required decorator, and we are adding
methods and properties which allow us to micro-manage the view instances.