Refactoring Contact update/insert/create to Contact class

Remedial work needed once Contact is finished properly
Refactoring Moved all Contact related methods here NON-FUNCTIONAL

Simple copy/pasta from EmailArchiver to here, needs reworking.
Committing to preserve history in a more logical way
Refactored to Contact class completely
Added constructors and methods for Archiver integration
Implemented basic SELECT for contact if it is an existing record

Does not update any fields yet
Implemented field updates

Moved STATIC SELECT to method as its not necessary for it to be global
to the class.
Implemented contact insertion, started on webform updates
Implemented selection of custom fields
Implemented updateWithWebForm

TODO: update, updateCustom

FIX: Correctly closed resultSet on populateCustomFields
Implemented Update, TODO updateCustom