Starting towards a generic API so that `JsonNode` isn't exposed through the client

DELETE endpoint will return void b/c the structure of the JSON returned is really unrelated to the delete.  Generics don't make sense.
 - one can make the case that a class `DeleteResponse` or something could be created to return the results, if it's useful
Bettering the generic interface so that there aren't generics hacks in the implementation