Provides a "request context".

A request context is associated with the current execution thread. It holds objects that would otherwise need to be included in many method signatures, such as for authentication.