Towards thread safety

Multiple QuestStatements may be executed in the same time, in multiple threads. 

For supporting such feature, important changes had to be made to Ontop.

Thread-specific objects:
  - QuestStatement
  - SQLGenerator (cloned for each QuestStatement; in the future, could be made thread-independent)
  - DBMetadata and DataDefinition (cloned for each new QuestStatement)

Classes made thread-safe (their attributes cannot be muted by threads):
   - Quest (some attributes removed, others made unmodifiable)
   - DatalogUnfolder (attributes removed)
   - QuestUnfolder
   - SesameAbstractRepo (connection attribute removed)
   - SesameVirtualRepo (connection attribute removed)
   - UriTemplateMatcher (immutable)

MysqlVirtualParallelScenarioTest has been introduced to test concurrency between multiple queries. It uses the standard query sets (BSBM, ILOG, etc.). For each query set, it runs all the queries in parallel. These queries can also be run multiple times in parallel (please disable query transformation caching).