tests, and accompanying revisions
fix link on 404 page
Reduce bcrypt rounds in tests for perf
fix test race conditions (hacky)
Update safe character list to include all possible characters from the wordlist
temporarily remove dangerous characters from wordlist

Until we can audit the python-gnupg library for shell injection vectors
(avoiding these was a key reason for isis lovecruft's fork), we are removing
unsafe characters from the wordlist and safelist so they are never passed to
the underlying gpg process.

This very slightly reduces the length of the wordlist which in turn reduces
codename entropy, but this tradeoff is worthwhile until further investigation
can be done.
update requirements.txt (was missing flask-testing)
Show a helpful message while the source's key is being generated.
Ensure that the path is normalized in store.verify.
Merge pull request #133 from fitzgen/normalize-in-verify

store.verify should assert that the path it is verifying is normalized
Merge pull request #134 from zestyping/flask-rewrite

Show a helpful message while the source's key is being generated.
Fix for issue #111

Update Apparmor config on source server to allow GPG to lock the keyring.
Creating db module defining sources table
hooking journalist interface into db when displaying codenames
Adding sqlalchemy and mysql-python to requirements.txt
Display ID for the journalist should be a an adjective + noun pair.
This is more easily memorable for journalists, and does not compromise
security of the system (see issue 95).
Adding a method in db.py:
  regenerate_display_id(filesystem_id) - given the base32 source
  designation, this will initiate a new session and rename the source
  with a new journalist designation

In journalist.py, I've added a new endpoint to utilize the regeneration
db call, then redirect to the document index.

In the journalist template, I've added a new form to hit the endpoint
for regeneration.