IE8 Improvements (especially parseHTML)

This doesn't get the test suite passing 100%, but importantly for Ember metal-views it gets the `parseHTML` helper passing and supporting many more situations in IE8 and 9.

Many of the ideas here are cribbed from reading jQuery and [Ember's setInnerHTML fix](https://github.com/emberjs/ember.js/blob/0654413ee8dd2830dec18a4bbbc078826731d84d/packages/ember-views/lib/system/utils.js#L133)

TODO:

* [x] Implement [whitespace cleanup](https://github.com/emberjs/ember.js/blob/0654413ee8dd2830dec18a4bbbc078826731d84d/packages/ember-views/lib/system/utils.js#L47) in IE8

/cc @stefanpenner. I kept the happy path pretty clean, I think.
Doing this now. Happy path should be free of branching for IE8/9