Make model creation a script and a config option

Add command to h.scripts for creating the databases and elasticsearch indices.
There could also be a config option for doing this automatically.

Now users can run  "hypothesis init_db development.ini" to set up their local dbs.
Use a local variable for brevity
Add support for basemodel.should_{drop,create}_all

This covers ElasticSearch models now.
Improve h.api.store.create_db

Make the create_db function more readable and reliable.

- Explicitly create the index first instead of relying on the implicit
  side-effect of create_all.
- Wait for cluster health after creating the index
Use assert statement in test instead of function
Configure the default session in includeme
Ensure the help route is there in views
Use a newer pytest version
Revamp test suite

Make the test suite more robust against early exits, improve handling
of databases and settings, and utilize logging config.

- Start Gunicorn in the background via a fixture using multiprocessing
  and ensure the server is started before the tests run using a
  condition variable. Remove the code to start the server in the
  Makefile.
- Leverage the new support for basemodel.should_{create,drop}_all in
  h.api.store (and existing in h.models via pyramid_basemodel) to run
  against clean dbs. Remove the code to delete the db in the Makefile.
- Set up logging using the test config so we stop generating a needless
  pyramid.log file.
- Rename the test files to make them invite more general, DRY testing
  of more code.
- Remove the timeout after registration. Watch for the user picker instead.
- PE8. Always PEP8.