Remove Flask-Testing dependency

In the unit tests, creates the self.app and self.client variables that were
being automatically created by Flask-Testing's TestCase.

Removes unnecessary (and inconsistently used) special status code asserts,
replaces them with standard lookups on the response.
Added MAT to source.py as a metadata purge option.

- MAT consist of a python library that makes
use of other metadata tools dedicated to specific
file-formats.

Always nice tidy and neat.

Added checkbox for metadata purge.

- Also added more validation on the
file selection for the cleanup.

Better validation on what file to write to.

Added MAT to requirements.txt

- Note: MAT is not available in
  PyPi, therefore, we clone it
  from the Tor repository.

Added MAT to source-requirements.txt

Added exiftool and poppler dependency to Debian/Ubuntu script.

Added tests for binary file upload.

Added test images for MAT

Added MAT to source-requirements and setup_dev.sh

Added intltool for MAT to travis.yml

Added secure_unlink and sanitize_metadata function.
Merge pull request #326 from gnusosa/develop

Added MAT to store.py as a metadata purge option.
Merge branch 'develop' into db-rewrite

Conflicts:
	securedrop/tests/unit_tests.py
s/db.create_tables/db.init_db
Fix broken metadata unit tests

These tests were unnecessarily calling _new_codename twice, and there appears
to have been a bad interaction between that and the new "get source" logic in
setup_g. Possibly related to the "back button"/session clearing bug (#294).