Disabled caching services by default.

There are couple of issues with current caching services so let's disable them for now.
1) cache invalidation should be done on transaction commit
2) support for multiple concurrent DB access from caching services - currently concurrent access is blocked by lock in DB API.
Improved Postgres LINQ support.

Added support for HashSet.Overlaps -> this is represented as && operator in Postgres.
Currently it works only on primitives.
ToSet helper methods for common conversion from collection to set.
This makes it possible to use
calculated Set<int> field from 'it => expression.ToSet()';
from DSL.

Support for substring. Postgres substr is 1-index based so appropriate conversion is required.

Added todos for later fixes.
Postgres driver is throwing exception on connection.State if it's disposed.
Investigate if driver needs fixing or should Revenj check for it.
Async notifications from DB lags and can be invoked after container is disposed.
While in practice this is not an issue since that means application is shutting down, in causes Heisenbugs in tests.
Check if there is some convenient way to stop notifications, such as Disposing stream on Dispose handler.

Mono actually works, but only after removing Mono.Security dll since that an ancient version which is missing some ctors.

TODO: investigate overlaps with domain objects, since Postgres currently doesn't like them - don't know how to compare them
TODO: fix PG driver State issues
TODO: fix DB notification issue (this affects both Postgres and Oracle)
TODO: improve notification signature - add specialized signature instead of using KeyValuePair for it