refactor to allow transport to have efficient getNode(s)ByIdentifier

this is an alternative to #151 that will move the responsibility to the transport, allowing it to optimize if it can. and cleaning up quite some code around the ObjectManager::getNode messy code.