cfreader/[ini, json, yaml, binary, list] with tests!

Issue #784 leaves me wanting to get configfile under test. This PR extracts the file types into their own libraries with test coverage.
> As you're returning inside the try{} block - I can't see that this line will ever get hit.

You should test that theory. When I tested last night, an exception inside the try { } doesn't return, and thus this code does exactly what it did before (which was my intent).