useFragmentNode: copy impl of useFragNodes to useFragNode
useFragmentNode: copy impl of useFragNodes to useFragNode

Summary:
This diff is part of a stack to remove some layers of extra work from
`useFragmentNode` which is used for the `useFragment` hook. Before this stack
`useFragmentNode` called `useFragmentNodes` with a single key object which
leads to additional computation of a `fragmentSpecIdentifier` which isn't super
cheap as it uses `JSON.stringify` under the hood on the `fragmentIdentifier`
which also uses `JSON.stringify`. After this we'll at least only stringify once.

 ---

This step just inlines the implementation of `useFragmentNodes` with all the complexity.
The following diffs will remove the extra work that's no longer needed for easier
understanding of the changes.

Reviewed By: jstejada

Differential Revision: D17763840

fbshipit-source-id: 16017f0a413a8744ebdaa71566e39404771a6959

wincent/relay,kassens/relay,facebook/relay,xuorig/relay,xuorig/relay,voideanvalue/relay,facebook/relay,josephsavona/relay,kassens/relay,xuorig/relay,atxwebs/relay,xuorig/relay,kassens/relay,kassens/relay,wincent/relay,iamchenxin/relay,wincent/relay,wincent/relay,yungsters/relay,iamchenxin/relay,facebook/relay,voideanvalue/relay,cpojer/relay,josephsavona/relay,voideanvalue/relay,cpojer/relay,facebook/relay,iamchenxin/relay,wincent/relay,yungsters/relay,kassens/relay,atxwebs/relay,josephsavona/relay,voideanvalue/relay,atxwebs/relay,xuorig/relay,xuorig/relay,yungsters/relay,atxwebs/relay,facebook/relay,cpojer/relay,voideanvalue/relay,facebook/relay,kassens/relay,voideanvalue/relay,cpojer/relay,wincent/relay,iamchenxin/relay