Huge improvement for transaction support in QueryCache

From now on, each QueryCache entry has one more field
named "relatedQueryCacheEntries", which contains the
ID of another QueryCache entry representing a list of
related QueryCache entries, if they are available.

These entries are related to an entry, if they were
part of a sub transaction. And each of these are also
linked to each other.

Gets one invalidated (by query or URI), all of them
getting invalidated too.