IE8 compatibility.

Used an older version of jasmine that works with IE8.
Fixed places where the tests were overwriting closed over variables by defining named functions.
Added a className from toString for IE (since it doesn't support function.name)
Moved the es5 shims/shams, and include them in the jasmine tests, when using IE8.
Fixed a few problems with things expected to be nonenumerable that were actually enumerable in IE<9, since enumerability is not shimable.