MODE-1775 Improved the Session.getNodeByIdentifier() method

Improved the method used to look up nodes by string identifier. The logic is now:

- If the identifier is a full node key, use it to look up the node with that key; if not found, continue
- Look for the node in the workspace content, using a key that is the same as the root node key except with the supplied identifier part; if not found, continue
- Look for the node in the system workspace content, using a key that is the same as the "/jcr:system" node except with the supplied identifier part; if not found, throw the ItemNotFoundException from step #2.

The method previously just did steps 1 and 2, so step 3 is what was added. A new test case verifies that the change fixes the original problem.