HttpRequestData to break hard depency on HttpRequestBase

As a preparation for the Owin compatibilty in #40, this is a major refactoring that removes the direct dependency on `HttpRequestBase` inside the commands and instead adds a new DTO class `HttpRequestData` that contains the relevant information about the current http request.