OAK-1775: Avoid lock contention in IndexTracker.getIndexNode()

Use a ReadWriteLock instead of exclusive synchronization.
Also refactor getIndexNode() into acquireIndexNode() so we can better
track which IndexNode instances are still in use and correctly close
obsolete ones when no longer accessed.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1590697 13f79535-47bb-0310-9956-ffa450edef68