Rewrite source.py with Flask

Make sure you update your virtualenv!
re-enabled generating source keys on first submission
remove unused function and its web.py dependency
Rewrite journalist.py with Flask
add CSRF protection with flask-wtf
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.
removed puppet added base_install.sh script
update dev setup docs based on hackathon feedback
fix order of instructions for installing dependencies
start of interface-install.sh script to setup chroot jails
update requirements.txt (was missing flask-testing)
Show a helpful message while the source's key is being generated.
added second chroot jail
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