Add config api

It works similarly to gson, yet different.  Gson uses lots of type checks, I use generic types.

Here's a gist of example usage. (Some names may differ)
https://gist.github.com/killjoy1221/0701ad483f334dd20687

I'm open to suggestions on how else to do things.
This needs to be resolved before this PR can be pulled.