Linq CompareTo handling (NH-3366):
 Fix tests that fail on different dialect due to slightly different syntax and collation rules.
 Review fixes:
   Make the rewriter and expression transformer instead.
   Share more code between the CompareGenerator and the transformer.
   Generate simpler case-when clause.
   Handle CompareTo also on sbyte and unsigned types.
Add support for DateTime and DateTimeOffset CompareTo method (NH-3366)
Implemented support for missed equals methods

- NH-3367: support for string.Equals(x, y)
- NH-3368: support for and Equals methods of unsigned numerics, sbyte and DateTimeOffset
Fix ignoring future tests for drivers that does not support it
Disable tests with MultiCriteria/MultiQuery for dialects which does not support them.
(cherry picked from commit 0898eb6f47e3ae47a42646e53e917af71484b405)
Linq - fall-back to normal behavior of ToFuture/ToFutureValue for dialects which do not support multi-queries (NH-3369)
Add test for ToFutureValue in combination with FetchMany (NH-2385)
Merge branch '3.3.x'