Port over multi-db tests, and fix issues with multi-db support.

The old multi_db.py tests (which was really just the ChangeField tests
with database parameters passed in) has been compeletely redone. It's
now just a series of tests in some of the other test suites.

There's also some fixes for usage with routers. The router functions
weren't being called correctly. They're now properly passed the model
class and instance, allowing routing to work correctly.
Fix a bad parameter lookup when deleting an application.

This was referencing the wrong model_name parameter. Now it references
the correct one in the loop, fixing deleting on multi-database setups.