Deserialização de objetos json sem root utilizando @Consumes("application/json")

Alguns frameworks javascript dificultam/impossibilitam o post e put com objetos com root (no meu caso é o AngularJs).

Adiçionei uma funcionalidade para permitir que a classe GsonDeserialization deserialize objetos sem root, mas somente se houver apenas um parametro na assinatura do método, caso constrário, a deserialização se mantém como era.

Aproveitei para substituir um código de conversão de inputstream pelo IOUtils.
Removi também algumas linhas de mock duplicadas nos testes.

O teste para a funcionalidade que inclui é o shouldBeAbleToDeserializeADogWithoutRoot.