IE 9+ fixes

* Fix making PUT/DELETE requests by uppercasing the HTTP method name
* This also fixes PATCH for Chrome/Safari
* Fix requests with undefined body on IE
* IE 9 fix for connection error
* Fix CSS being applied to test suite

The only test that now fails is the FormData test on IE 9. Maybe we should skip that test if FormData is unavailable?
You gain compliance... Method names are case-sensitive in HTTP. That Blink/WebKit have a bug for "patch" and maybe some other names, does not mean it's okay to just uppercase them all.