Major revisions to core data model

-re-rooted data model w/ new entity “exams”, allowing multiple slides
per exam
-have begun updating UI, google drive upload code, accordingly
-created TBScopeHardware and TBScopeData singletons
Merge pull request #1 from jmlvanre/master

MatrixOperations Weighted Centroid optimization
nothing
nothing
ui, google drive, data/hardware model

bug fixes related to data/hardware model changes, google drive
login/upload of exam data
Merge pull request #2 from jmlvanre/master

Fixing bug in findWeightedCentroidsImpl
Merge pull request #3 from jmlvanre/master

Minor Improvement / Code Refactoring of MatrixOperations::greaterThanValue
Changes to data model, exam review UI, google sync, GPS, slide editor

Substantial changes to data model (now has an exam->slide->image
structure) and associated UI changes in exam editor, slide editor
(new), and slide review. Added two-way sync to google drive via JSON
serialization/deserialization. Added GPS tagging and map viewer. Added
function to add additional slides to an exam. revised exam list UI and
added sync indicator.
Improvements to google drive sync

Added indicators in exam list to show when things have synced, fixed
several bugs to syncing
google drive sync and logging

added logging functionality (CSLog) and made many improvements to
google drive sync (including intermittent network failure handling)
map view, ROI grid view, classifier bug fix

added pushpins to map view showing all exams w/ disclosure icons,
created ROI grid view which allows users to select + patches, removed
bug in classifier which set coordinates of overlapping regions to large
negative numbers. as a result, overlapping regions are now included in
analysis.
pdf printing, location update, analysis bg thread

added support for printing, fixed location updating, moved analysis to
background thread, added abort buttons, rescan/reanalyze buttons
image capture improvements, image review, gps