fix($httpBackend): use ActiveX XHR when making PATCH requests on IE8

IE8's native XHR doesn't support PATCH requests, but the ActiveX one does.

Closes #2518
Closes #5043

=============

The feature is mainly implemented by @IgorMinar - the text above is from his commit.  @caitp found the bug that caused the tests to fail, and I suggested a refactor of her fix, which appears in my commit.

Unfortunately, I don't have a backend running currently that responds to a PATCH request, so I cannot test this in IE8 atm.