switch to Java 1.7 on DB4O project

Signed-off-by: Matthias Stevens <matthias.stevens@gmail.com>
- RecordStore and subclasses:
	* RecordStore now declares a single abstract doStore method (doInsert is gone) which takes 1 of 4 possible "actions" (INSERT_OR_UPDATE, INSERT_ONLY, UPDATE_ONLY & UPDATE_ONLY_EXCEPT_LSA) and reports back using 1 of 3 possible result codes (NEEDED_INSERT, NEEDED_UPDATE & NEEDED_NO_ACTION)
	* RecordStore: added public update(Record,boolean) methods to only update existing records, with or without updating the lastStoredAt value
	* SQLRecordStore & SQLiteRecordStore; implemented support for updating lastStoredAt when needed and not doing so when not allowed (cfr. the actions above)
	* SQLRecordStore: RecordUpdateHelper now supports generating UPDATE statements that only touch database rows if the given Record object really has changed wrt to the stored row, SQLTable#update() uses this
	* missing database tables are no longer created for UPDATE_ONLY* doStore() calls
	* SQL(ite)RecordStore: SQL(lite)Table#isRecordInDB(Record) now first checks whether the table itself exists and returns false if it doesn't
	* SQLRecordStore: Memory usage reduction through introduction of SQLTableSpec class which temporarily holds on to all information necessary to generate CREATE TABLE & CREATE INDEX statements (previously held in SQLTable and SQLColumn themselves) such that this can be discarded (i.e. garbage collected) once the table and indexes are created.
	* SQLRecordStore: Memory usage reduction & performance improvement in StatementHelper: no longer keep the TransactionalStringBuilder after first call to getQuery()
	* SQLRecordStore: moved getNullString, getQuoteChar & getQuoteEscapeString out of SQLColumn and into SQLRecordStore itself
	* DB4ORecordStore: updated to implement new doStore() method and generally match behaviour of SQLRecordStore

- Schema:
	* added missing <?>'s everywhere so we no longer need to suppress the raw types warning on the whole class
	* improvements to addColumn() method(s)
	* improvements (performance & clarity) to containsColumn() methods, there are now separate (slower) containsEquivalentColmon() methods which look for equivalent rathen than only object-identical columns

- Record:
	* improvements to hasEqualValues() methods
	* got rid of EqualValues and replaced all usages (in Record, RecordsPayload & EqualityConstraint) with call to uk.ac.ucl.excites.sapelli.shared.util.Objects#deepEquals()

- Schema, Record & SimpleSchemaTraverser:
	* type of skipColumns parameter (on multiple methods) is now Set<? extends Column<?>> instead of Set<Column<?>>, in order to allow for things like Collections.singleton(IntegerColumn)

- Index: refuse null columns

Signed-off-by: Matthias Stevens <matthias.stevens@gmail.com>