refactor($http): coalesce calls to $rootScope.$apply WIP

Current state of this: support for evaluating expressions like $evalAsync has not been added -- but it's
trivial to add this.

There are some mock helpers added to enable better testing, although they aren't documented since they
are not likely to be useful to users of the library.

Currently, there's a configuration method to allow users to define the debounce time for $http responses,
but I'm not opposed to removing this, as it doesn't seem particularly useful under normal circumstances.