Add config api

It works similarly to gson, yet different.  Gson uses lots of type checks, I use generic types.

To create a ConfigObject, call `getElement(key, ConfigObject.class);` from `ConfigObject`
To create a ConfigArray, call `getElement(key, ConfigArray<String>.class);` from the same class.
To create a ConfigElement, call `getElement(key, ConfigElement<String>.class);`

I'm open to suggestions on how else to do things.