Fixing bug in dbupdate where it would explode on plugin that is missing MODELS or MIGRATIONS

The reason it blew up was because in the latter caught exception, it
wouldn't set models/migrations to an empty set, so it would actually
use the previous run's models/migrations!  That's what we get for
"leaky" variables on python for loops :)

This commit sponsored by Pascal Diogo Antunes.  Thank you!
Always activate testing in every test module ever.

Kind of a dorky way to implement this, but...
basic_auth v0 plugin working
reset mediagoblin.ini
added login.html template hook and basic_auth login template
added login.html template hook and basic_auth login template
moved forgot pw views to basic_auth plugin
fixed missing forgot password link on login page
moved normalize_user_or_email_field to auth/tools.py from auth/forms.py
changed User model pw_hash field to nullable and added migrations
add a check for authentication plugin on startup and respond according to no_auth config option. allows instance to be run w/o authentication
moved send_fp_verification_email() from auth/lib to basic_auth/tools
moved bcrypt_check_password to basic_auth/tools from auth/lib
moved bcrypt_gen_password_hash to basic_auth/tools and added gen_password_hash function to auth/__init__
modified check_login function to return None instead of False to be able to have multiple plugins check_login
renamed basic_auth/tools to basic_auth/lib
renamed hook as to no conflict with existing hook names
modified test .ini files and changed tests to use basic_auth bcrypt
existing test all passing now