Separate Distribution#format into a separate object

So that you can do things like format.open? and format.structured?