Adding OutputFormatter base class

:+1:  with @pranavkm..`MissingMemberHandling` is for deserialization and so we should leave the defaults as it is...