Implement a 'format registry', for responding differently depending on Accept headers

415 is accept, 406 is return -- so I've just updated it to support 406 :)

If no Accept header is given, it will give the default -- if the Accept header has nothing it can do, it responds 406. Otherwise it will give the client what it requests the best it can.

Let me know what you think!