Updates to unit tests and relevant methods for IE8/IE9 support

- Mostly replacing toString.call with the more obtuse
Object.prototype.toString.call
- Doing string triming on string split "by hand" instead simply
trimming the whole string once and split by /\s*,\s* because IE8 likes
to excluse empty strings from regex splits.
- Would probably work in IE7 if I didn't call JSON.