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?
@annevk I'm sorry, the `patch` problem wasn't due to WebKit, but Node.js server (that we use in testing) rejected to treat it as `PATCH`. I forgot to check wether the backend supports it before blaming the browsers.

So, you were right. HTTP method names are case-sensitive, so I've reverted to normalizing only those HTTP methods that are whitelisted in fetch spec.