Adapt to ::getConceptsByCriteria() removal on -api
Added configuration to set i2b2 user and group

The configuration names are:
  - org.transmartproject.i2b2.user_id
  - org.transmartproject.i2b2.group_id
Bring filename in line with class name
Implments QueriesResource (querytool)

Overview of the new classes:

QtQueryMaster
  Domain class. Maps to i2b2's table i2b2demodata.qt_query_master. This
  contains the query definition, its create date and the name of the
  query.

QtQueryInstance
  Domain class. Maps to i2b2's table i2b2demodata.qt_query_instance. In
  principle, a query master can have associated with it an arbitrary
  number of query instances. It contains a reference to the owning query
  master, a start and end date, a status (error, pending, complete,
  etc.) and a message that can contain an exception trace. This table is
  not particularly important for tranSMART.

QtQueryResultInstance
  Domain class. Implements the API's class QueryResult. Maps to i2b2's
  table i2b2demodata.qt_query_result_instance. In principle, it can be
  associated with an arbitrary number of QtQueryInstance instances. It
  contains a reference to the owning QtQueryInstance, the type of result
  set (in the current implementation, always 1, which means a patient
  set), the size of result set (or -1 if there was an error), start and
  end dates, a status (see QtQueryInstance), a description for the
  result set, and possibly an error message with the stack trace (same
  as QtQueryInstance).

QueriesResourceService
  Implementation of API's QueriesResource. Currently, it has only one
  public method: runQuery(QueryDefinition definition). This method
  creates the appropriate QtQueryMaster, QtQueryInstance and
  QtQueryResultInstance objects, generates an sql query from the
  QueryDefinition (via its collaborator patientSetQueryBuilderService)
  and executes this query, which populates the qt_patient_set_collection
  table. The QtQueryInstance and QtQueryResultInstance are then updated
  in face of the execution of the query, with information such as the
  size of the obtained result set.
  To create the XML version of the QueryDefinition that's necessary to
  populate the QtQueryMaster object, the collaborator
  queryDefinitionXmlService is used.

PatientSetQueryBuilderService
  Converts a QueryDefinition into an SQL query that populates the
  qt_patient_set_collection. It also validates the QueryDefinition and
  throws InvalidRequestException if it finds any error.

QueryDefinitionXmlService
  Handles the conversion of a QueryDefinition to a XML string that's
  understood by i2b2, and which we also appropriate for our storage
  needs. In future, it will also support the inverse function.
Tests for functionality in 9708921

It also includes three domain classes that are necessary when running
the tests in a memory database in order to generate the schema. These
domain classes will likely be important in the future, but for now
there's no commiting as to their contract (even their names). The plugin
otherwise works without them because the QueriesResourceService
generates and runs SQL queries that bypass GORM, as is required by the
i2b2 model.