fix($compile): copy expandostore data into replaced nodes

Before this patch, with modern versions of jQuery being used, the element data
cache was not being copied over into the new element when replacing an
asynchronous directive's compile node with its template. This caused an issue
where the element passed into a post link function's scope() method would
return the incorrect scope.

The test which is added passes regardless of the change in jQuery 1.10.2,
which is currently checked into the tree, but fails without the change in
jQuery 2.0.3.

Fixes #5099