Adding OutputFormatter base class

mm, wouldn't it be the formatter writers who would have to add the supported format? Users would typically just use the oob formatters.