major restructuring and cleanup

- many inner classes moved to their own file
- packages added to help organize classes
- static methods moved to more specific or more intuitive places
- Codec.Set renamed Codec.Field
- Codec.TYPE enum removed
- getSingleton methods replaced with public INSTANCE constants
increase version number to 3.0.0-SNAPSHOT
Merge pull request #6 from addthis/reorganize

major restructuring and cleanup
add typesafe-config dependency
CodecConfig v1 check-in

- compiles and at least attempts all the existing functionality.
definitely needs more testing though.
- in particular, error reporting might need some massaging
- does not yet support consulting the global typesafe config for
defaults either
add benchy
little benchmark checking how much isArray costs
CodecConfig edge cases + split annotation

- CodecConfig bugs mostly related to primitive/ wrapper handling
and/ or CodableInfo making bad choices. Fixes are rather verbose,
but functional at least.
- some tests added for CodecConfig related to above
- Codec.Field split into Codec.FieldConfig and Codec.ClassConfig

  Codec.Set was previously renamed to Codec.Field. That was better
but still a little more collidy than needed, and if that scheme
was followed after splitting the field/ class functions, then
'Class' would collide way too much.
- other misc clean up
basic plugin system and tests
replace ClassConfig/ ClassMaps with Pluggable

- also flattened plugin configs a bit by using special keys
prefixed with _s instead of another map layer. the ".alises"
suffix wasn't really that bad but this is a little clearer most
of the time
- more tests
correct stray mutation attempt
basic auto-defaults + non-static codec config
add basic support for default types
add basic autoarray support
more testing tools + config-only creation api
fix resolving order + fix object array bug
error reporting, tests, docs
complain about unused keys
remove unused dependencies
Merge pull request #7 from addthis/hocon-parser

Hocon parser + plug-in system + new features