Fixed various issues and implemented some new features around the new ScanningQueryEngine

This PR contains different commits related to different query-related issues, as follows:
* MODE-2178 - fixed the code for various types of JOINS and also shareable nodes. Enabled back all the previously disabled Tck tests
* MODE-2247 - implemented the `INTERSECT` and `EXCEPT` operations together with several new test cases
* MODE-2209 - implemented the ability to check `READ` permissions for nodes returned from a query, via a new `NodeSequence` implementation
This test https://github.com/hchiorean/modeshape/blob/MODE-2178/modeshape-jcr/src/test/java/org/modeshape/jcr/JcrQueryManagerTest.java#L3851 (and really all similar `UNION`, `INTERSECT`, `EXCEPT` tests) will be between 2 different width sequences.

As stated in my previous comment on the topic, maybe I'm missing something regarding the width of sequences...