Fix for issue #1279 - Add .Request property to ApiController

This change adds a .Request property to the ApiController class that can
be used to access an HttpRequestMessage wrapping the HttpContext.

The HttpRequestMessage is stored in an http feature to make it accessible
to model binders and other infrastructure.
Lou wrote it this way. /cc @loudej 

My thinking is that HttpContext is supposed to do lifetime management for features. https://github.com/aspnet/HttpAbstractions/issues/132 - But I might be wrong about that.

We don't really have a place where we know it's safe to dispose the request message. We don't want to have this dependency anywhere in the core so we can't just hardcode it into the pipeline.