`detach` instead of `remove` old view in `LayoutView setView`

`$el.remove` also unbinds all events bound to the element, which is bad
when we're retaining the content view for reuse. This does not affect
views that expect the current behaviour of removing the element when
destroying, as that is still done by `_removeChild` if the retain count
of the view being removed is 0.

https://github.com/walmartlabs/thorax/issues/332
Do not activate push state links if meta or shift are clicked.
Merge pull request #333 from jasonwebster/detach_old_view

`detach` instead of `remove` old view in `LayoutView setView`
Fix noped tests under expect
Exclude $, ie, and mobile from server-side
Add server-side test stubs
Use attr rather than getAttribute for placeholder

Make placeholder view replacement compatible with fruit-loops
Fix collection element filtering under fruitloops
Optimize dom event handling in serverSide
Use .name to lookup tag name under fruitloops
Add fruit-loops test runner
Avoid direct DOM access in tests
Avoid tests for disabled behaviors in fruit-loops
Update form logic to use $ methods
Use $ for append logic
Disable XHR test under fruit loops
Rework collection.removeItem to avoid map object

Cleans up differences in map implementations and avoids creating an unnecessary intermediate object.
Disable loading indicator in server-side
Do not run form interaction events in server mode
Implement reusable uniqueId generator

The default implementation either runs into conflicts due to generating the same id on both the client and the server or could error in a shared page environment due to Number overflow.