A whole lot of changes

Please consider taking (or at least picking apart and cherrypicking) this patchset. There's a lot in it:
* get the testsuite to run (tempdir setup, dict output in doctests, and whatnot)
* don't drop into pdb when a test fails (use a command line option if you need that)
* skip tests with missing infrastructure (I don't have, let alone use, couchdb)
* make auto-escape work, thus guarding against XSS attacks
* get inherited tables to work
* get sane output if a relationship is aliased (which is not entirely like a synonym)
* Unicode fixes and workarounds (José is OK in real-life code but not when testing)
* Werkzeug interoperability (it has its own and slightly-different multidict implementation)
* grammar fixes
* coding style: I really dislike wildcard imports, if you're not familiar with the codebase you don't see where all these symbols comes from
* I don*t think anybody with sqlalchemy <0.7 is going to upgrade just their copy of formalchemy any time soon, so clean up some of the cruft

It was a lot of work to get all of formalchemy's tests to run without complaining, but I think the code is better for it.

I did not yet test all of this with sqlalchemy <0.9.latest. That's the kind of job Travis is useful for, so the only thing I still want to do to this is to add a .travis.yml file which runs the testsuite on somewhat-older Python and SQLAlchemy versions.

… unless I find more problems. :-P