Regression Test Refactoring

# Changes

### Files and Organization
* Emailer no longer has helper functions that do not relate to emails
* Created regression_utils.py which holds all helper functions

### TestResultsDiffer:
* Now follows the redesign specification
* Gets passed in a test_data and uses it to extract the necessary paths
* The sub methods to diff the database, html report, etc are only passed in the paths to the output / gold files

### Args
* Added a sanity check method to ensure that the command-line arguments do not conflict each other and that the specified files exist

### TestConfiguration
* Cleaned up the initialization methods
* Moved some data that is image dependent to TestData (mostly ingest stats)

### TestData
* Now stores pass/fail flags for the various 'diffs' that were run
* Stores an overall pass / fail flag
* Updated docuementation

### TskDbDiff
* run_diff no longer relies on an instance of test_data. It is passed two paths upon creation (one for gold, one for output).

### Emailer
* Changed signature of send_email. It no longer needs to be passed a parsed configuration file to send and email. TestConfiguration takes care of pulling the relevent information out of the config file and Emailer gets passed the address, server, and subject instead.

### General
* Created an Errors class to collect the messages and errors that were printed to the screen and that will be emailed upon test completion. Prior to this class, an instance of TestData was required to print errors which meant TestData had to be passed to almost every object in the script. Now error reporting is centralized via the Errors class, and TestData grabs the messages from Errors prior to the reports being generated. When the Reports class is refactored, TestData will most likely not need to do this.
* Reorganized the order of classes in regression.py to mimic the flow of control
* Removed global variables (test_config, html, failedbool, etc)
* Updated documentation of functions, classes, and methods
* Tested in all modes