First pass at converting to falcon for the REST API layer.

Currently, only /<api>/system and its subpaths work, but basic auth does work
too.  Requires a refactoring modification to falcon.
Get addresses.rst, i.e. /<api>/addresses working.
test_addresses and test_root are both passing now.
Make preferences work.
Domains are ported to falcon.
Lists and pagination are ported.
Port users and part of members.
Complete the conversion from restish to falcon, modulo a clean up pass.  All
REST tests pass.  This requires an as yet unmerged internal change to falcon.
Refactor so that most modules don't need to import falcon, and so fewer
unnecessary changes are needed for upstream falcon to support restish-ish
traversal.
Minor cleanups.
trunk merge
Database
--------
 * The ORM layer, previously implemented with Storm, has been replaced by
   SQLAlchemy, thanks to the fantastic work by Abhilash Raj and Aurélien
   Bompard.  Alembic is now used for all database schema migrations.
 * The new logger `mailman.database` logs any errors at the database layer.

API
---
 * Several changes to the internal API:
   - `IListManager.mailing_lists` is guaranteed to be sorted in List-ID order.
   - `IDomains.mailing_lists` is guaranteed to be sorted in List-ID order.
   - Iteration over domains via the `IDomainManager` is guaranteed to be sorted
     by `IDomain.mail_host` order.
   - `ITemporaryDatabase` interface and all implementations are removed.
Remove some unnecessary code, and revert back to SQLite by default for the
test suite.
Remove some unused code.
Trunk merge.
Port to current Falcon git head.
When we switch to tox, we'll get hash randomization, which breaks many tests.
While I'm shipping a tox.ini, do not yet use tox to run the tests, unless you
want to help fix the randomizations.

In the meantime, I'm also adding a few randomization fixes, and updating to
the latest falcon git trunk.
add .travis.yml