Ensure getInstanceModel is only called when a new instance will be created

Note that this also allows for the common case of inserting an instance via a DocumentFragment. Only if there is a instanceCache hit, do we insert an array of nodes.

R=arv
BUG=

Review URL: https://codereview.appspot.com/10361044