feat(ngResource): support all $http.config actions

This allows the transformation of the $http request in both directions,
headers, caching, and timeout.
fix(ngSwitch): not leak when transcluded and cloned

The leak can occur when ngSwich is used inside ngRepeat or any other
directive which does not attached transcluded content to DOM but clones
it.

Refactor ngSwitch to use controller instead of storing data on compile
node.

Closes #1621
fix(git-validator): support fixup and better errors