add IE 8 support

had to switch to expect from chai and polyfill a few bits and pieces
used in various dependencies
Formatting on this seems super weird. Is this copied from somewhere?