Rename securedrop-requirements.txt so naming is consistent with Ansible
Template-ize sysctl settings
Travis should run the test suite
Merge branch 'develop' into pr/620
Merge branch 'develop' into pr/621

Conflicts:
	install_files/ansible-base/roles/ansible-securedrop/defaults/main.yml
Fix intermittent failures in functional tests

Selenium's implicitly_wait is unreliable in certain contexts (for
example, when checking the current URL or examining the current page
source). Adds an explicit polling wait function that takes an assertion.

Fixes #622
Avoid broken pipe error by waiting for page reload

The "broken pipe" error generally occurs when Flask (which runs in
single-threaded mode in development and testing by default) gets a
request while it is still processing the previous one. This was
happening in the case of testing editing a user's password because:

1. Make a POST request to /admin/edit to change a user's password
2. scrypts the new password, which takes several hundred ms
3. Calls _logout, which uses `self.driver.get` directly and does not
wait for the page to reload.

Therefore, we request the logout page while Flask is still rendering the
"change user password" response to return. This is a race condition, and
so could occur anywhere, but was occurring consistently here due to this
code path using scrypt.

Fixes #623.
Merge pull request #624 from freedomofpress/fix-intermittent-functional-test-error

Fix intermittent functional test errors
Flask should use X-SendFile in prod
Update ansible's copy of config.py

Originally we had this symlinked to `securedrop/config.py.example`, but
that caused issues on Travis. For now, I'm manually updating the copy.
In the future, we should see if we can get Travis working with the
symlink so we can avoid having to remember to manually sync changes to
the application config.
Update xsendfile path in apache conf
Fix Ansible debs and staging
Copy correct hostname for document ATHS
Merge pull request #625 from freedomofpress/flask-use-xsendfile

Flask should use X-SendFile in prod
Merge pull request #627 from freedomofpress/fix-debs-and-staging

Fix debs and staging
use ansible pip module to install dev pip requirements

This was complicated by initially not knowing the location of the
`securedrop_repo` on Travis. Fortunately, Travis sets an environment
variable that gives us the absolute path we need.
Improve readability of iptables rules
Allow direct SSH access to staging (for tests)

Also fixes some path issues in the iptables tasks.
explicitly code amd64 in sources.d
Add Mac setup instructions for Ansible-based development env