Quick and rough UI changes for source replies
broke up the iptables and display onions task files to be app and mon specific
added tasks to remove bluetooth wireless kernel modules
added dns ip to iptables rules
ensure that the dns ip in the iptables rules is defined in the dns resolver
default dns server is googles 8.8.8.8
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
unit tests don't work on staging
Always use different session cookie names for each interface

Previously, we only did this if `SECUREDROP_ENV == dev`. In production,
this doesn't cause problems because the interfaces are served to
different .onion addresses, so there is no origin collision. In
development, when both servers are running on localhost, cookies of the
same name collide (and overwrite each other) because cookies do not
consider port to be part of the origin.

Now that we have a wider variety of deployment environments, it is no
longer possible to say that we can get away with only changing the names
for the development environment. staging, for example, also provides
access to the web interfaces via localhost (port forwarded from
Vagrant), and has the same problem with name collision.

Since there is no downside to using unique names for each interface, we
just do it for all environments from now on.
Remove now-unused config.py template
Added mon playbook
Renamed and modified ossec-server deb to work with ansible deployment
Added creating the monitor ossec-server debs
Added tasks to install ossec-server locally or from fpf repo depending on playbook tag
Added tasks for postfix and procmail
Merge pull request #628 from freedomofpress/ansible-iptables-ssh-rules

Allow direct SSH access on staging
Merge pull request #629 from maxamg/develop

explicitly code amd64 in sources.d
Added gmail cert to ansible files directory for staging environments to use. Should up date this to look in the repo instead.
Updated the ossec server and ossec agent build task to avoid doing the same tasks twice
Rename securedrop-requirements.txt so naming is consistent with Ansible
Travis should run the test suite
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.
Flask should use X-SendFile in prod