Avoid get_current_request where possible

This PR changes the filters so that the magical get_current_request function is only used when the request cannot be retrieved from the context. This conforms better with Pyramid [docs](http://docs.pylonsproject.org/docs/pyramid/en/latest/narr/threadlocals.html#why-you-shouldn-t-abuse-thread-locals) while being robust.

This PR is naturally b/c and falls back to the old code on failure.