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 origial
problem.