Adding OutputFormatter base class

A scenario that comes to mind related to our previous discussion on exposing request at `WriteAsync` method of a formatter: Based on the presence of a query string parameter decide whether to write an indented output or not...

Considering the above scenario, I currently do not see a simple way to enable/disable this on a per-request basis...wondering if we should make `CreateJsonWriter` overridable and that it takes in a formatter context too?...