Feature/java client listing

Fixes #12 

- added test-scoped logger dependencies for Java client
- switched to Java enums to allow simple deserialization with Jackson (also brings in exhaustive pattern matches). enums will be stored as lowercase in DB for compatibility with existing data, and matching enum case in JSON for seamless deserialization with Jackson
- improved sample to show cache invalidation and endpoint list
is there any way for this to be tested?