feat($templateRequest): trust url if it is already in cache

This is a rehash of #4879. I've encountered this issue a long time ago and it is no longer relevant for me, but maybe it will help someone else... This bothered me when I used the base tag in some project to point to a domain different than the one the page was served from - it meant that any template that was preloaded using something like `<script type="text/ng-template" id="/tpl.html">` was blocked by `$sce` when I tried to load it since the domain in the base tag was not trusted by default.

So I'm thinking that it doesn't make much sense to block something that is already in the cache, but there was a test in`$compile` which explicitly tested that even cache will be blocked (which I had to remove).

Anyway, even if this is not really interesting, I think that the refactor in the first two commits might be relevant anyway....