finally get play 2 client return types right

- responses in api.json is a list again, so that we can support
  the field inclusion list syntax

- fix small bug in Indentable

- play 2 client methods take explicit handlers for each known response
  code, and a default handler for unspecified codes. The return type of
  the client method is the common ancestor of the return types of the
  specified handlers. Each handler defaults to a method that simply
  throws a descriptive exception in case the user does not want to
  provide a handler for its response code.