Added GlimpseRequestContext feature to track and have quick access to current request
Added tests related to request context tracking
Made sure Configuration.RuntimePolicyStrategy defaults to Off if GlimpseRuntime is not yet initialized
Added Glimpse tab for Glimpse internals
Reworked lifetime management of the GlimpseRequestContextHandle

AspNetRequestResponseAdapter: Removed dependency on HttpContext.Items
collection and moved the logic of checking whether or not HTTP Headers
have been sent into the class

GlimpseRuntime : Reworked runtime to allow the framework providers to
manage the lifetime of the GlimpeRequestContextHandles

HttpModule : Reworked to deal with handling the lifetime of the
GlimpseRequestContextHandle

GlimpseMiddleware : Reworked to deal with handling the lifetime of the
GlimpseRequestContextHandle

HttpContextExtensions : class has been removed since that the checking
for HTTP headers has been put inside the AspNetRequestResponseAdapter
and the same for the GenerateGlimpseScriptTags, all of this exposed on
the IAspNetRequestResponseAdapter interface.
Reimplemented GlimpseConfiguration.TimerStrategy
GlimpseRuntime explicitly uses handle now

- Also moved logic to check for resource request or not into
GlimpseRequestContext
- Added RequestHandlingMode
Moved HttpRequestStore to the GlimpseRequestCtx

- Moved HttpRequestStore from IRequestResponseAdapter as RequestStore to
GlimpseRequestContext
- Separated the creation of the Glimpse script tags from the check
whether or not they were already rendered.
- Removed also some sharing through the use of the HttpRequestStore,
since most of it is not needed anymore due to the presence of the
GlimpseRequestContext
Fixed handle expectancy by PreSendRequestHeaders
Introducing IGlimpseRequestContext abstraction

- Renamed GlimpseRequestContext.ActiveRuntimePolicy ->
CurrentRuntimePolicy
- Introduced the IGlimpseRequestContext and made GlimpseRequestContext
internal
- Added some safe safeguards to make sure no Glimpse code is executed
when Off
Moved execution timers into glimpse request context / removed strategies

- Moved execution timers into GlimpseRequestContext
- Removed TimerStrategy and RuntimePolicy from Configuration and now
rely on GlimpseRuntime.Instance.CurrentRequestContext to return the
appropriate execution timer or runtime policy (which means that the
logic to create an fallback value for those strategies is now handled by
the implementations of the IGlimpseRequestContext
- Added extra logging when accessing unexpected properties of the
UnavailableGlimpseRequestContext, which would point to bad usage and no
checking of the CurrentRuntimePolicy of the CurrentRequestContext
Added locking in the ActiveGlimpseRequestContexts when adding/removing a ctx
Removed AbsolutePath from IRequestMetadata and made RequestUri a real Uri
Moved RuntimePolicy determination code out of GlimpseRuntime
Added IResourceEndpointConfiguration abstraction

- Moved check for resource request from GlimpseRequestContext to
IResourceEndpointConfiguration implementation
Extracted storing of Glimpse request id from ActiveGlimpseRequestContexts class

- Changed ActiveGlimpseRequestContexts from static to normal class
- Added CallContext implementation of ICurrentGlimpseRequestIdTracker
- Added AspNet HttpContext.Current based implementation of
ICurrentGlimpseRequestIdTracker
Assigned CurrentRequestContext to local variable in Support
Merge pull request #709 from Glimpse/cgijbels-proposal-current-request-context-tracking

WIP - Introducing GlimpseRequestContext in combination with a GlimpseRequestContextHandle for lifetime management