Changed the matches/models.py to work with new match table design.
Each match is separated into 2 equal halves which contain the relevant information relative to one clinician's point of view.
Implemented Archive Patient functionality.
Bug found with date_added in Create a Case functionality.
Added 'date_added' field to the Phenotype model. Fixed bug mentioned in previous commit.
Preliminary re-do of view_matches interface/display.
First version of view-matches.html that successfully uses the templating system to manipulate a dictionary of arrays.
view-matches major ui design with collabsible tables under patient headers.
Unread totals implemented, still need to implement Important Flags/Highlighting.
Update Mike's original match code with the following changes:
- Added ability to match a single patient to all others instead of just
  matching all patients to all others.
  - Added ability to pass in a patient ID as a command line argument.
- Refactored code so that all DB access is performed through the GYMatcher
  class rather than through the individual Match, Patient classes etc.
- Now use built in Python set classes to handle phenotype term storing and
  comparison.
- Added date checks to determine if existing matches were up to date or needed
  to be modified
  - Compare patient.last_modified to match.last_matched dates.
  - We may add a new patient.phenotype_modified date field to distinguish
    between when a patient is updated generally (case summary updated) vs.
    phenotype info is updated specifically.
  - Django uses UTC dates so for compatibility, we use the datetime.utcnow()
    to date stamp with current date (MySQL does not provide robust UTC date
    conversions).
- Changed some Camel case to underscore for local variables. Function / method
  names are left in Camel case.
- Updated SQL and print statements to use Python format strings