Clone input nodes when inserting over a set

I noticed this bug while *wrapping* up gh-558 (c'mon that's funny). I think the changeset ended up being a little ugly, so please don't hesitate to offer suggestions for refactoring!

Commit message:

> This patch increases parity with jQuery, specifically in cases where
> manipulation methods are called with existing nodes on sets containing
> more than one element. In such cases, the provided node should be cloned
> prior to insertion (excepting the final element in the set, where the
> original node should be inserted).
@davidchambers Hmm, that fails the following test:

```js
it('should gracefully degrade on complex, unmatched queries', function() {    
  var $elem = $('Eastern States Cup #8-fin&nbsp;<br>Downhill&nbsp;');         
  expect($elem).to.have.length(0); // []                                      
});
```

I'll continue with this later on today, but feel free to take a look if you're bored :P