fix(jqLite): clone wrapNode in jqlite/wrap

Change jqLite's implementation of wrap() to clone the wrapNode before
wrapping the target element in it.
Match jQuery's wrap() behavior and prevent accidentally attaching
target element to the DOM as a side effect.

Closes #3860
feature(ngEnabled): define ngEnabled directive as negation of ngDisabled

Provide a negated form of the `ngDisabled` directive as `ngEnabled` in
the same vein as the `ngHide`/`ngShow` pair. Allow for slightly clearer
templates by avoiding double negatives, as in:

    <input ng-disabled='!(predicate1 && predicate2)'/>
    <input ng-enabled='predicate1 && predicate2'/>

Closes #1252
Merge branch 'fix-jqlite-wrap'