huge rewrite of the config registry

I did not like the direction I took with the original version of the registry. This is a complete
overhaul. I moved away from using the container and wrote it to match Python's ConfigParser module.

I also added a new helper trait called Env. It will make it easier to integrate environments into
different parts of SiTech or even the application itself. I added also  another base exception
class to the helper that the config registry uses for unexpected values. I also added more
exceptions to the config registry itself to help aid in error messages when sections or options
are not found in the configuration.
Update README.md

Updating the build image to match the branch name.
fixing minor errors in registry and expanding tests for better coverage
updating test to include 100% coverage for registry

Fixed some minor bugs in the Registry class. One changed how addSection() and section() both work. The
section() method now has an optional force argument. If it is set to true, the "correct" section name
will be returned no matter if it exists or not. This changed the addSection() method to rely on
section() instead of hasSection() and also made it work properly for adding sections when the env is set.
updating to make $args not null and required
updating documentation
adding ini handler and tests

Created an INI file handler for the configuration parser. This will enable the registry to load and save
ini files. It still needs work to add more error handling and better handling of objects and arrays.
allowing failures with hhvm due to vfsStream
renaming files
updating for unit testing
major documentation update. also changed how a few methods work.

I fixed the way get() works with the default value so the documentation will actually match up
with the function declaration. This is also optimized a bit better too by simply checking the
number of arguments passed to the method. This also allows for null to actually be passed as a
default value.

I updated the getFloat/getInteger/getBoolean methods to actually call $this->get() instead of
using call_user_func_array() to call them. This preserves the stack when debugging. I also removed
some of the extra arguments that shouldn't be used in those helper methods.

The last change was how the interpolation works. Now it truly checks if interpolation should be
done based on the class variable and the variable passed into interpolate(). The unit tests
need to be updated to reflect this change. I should also break the tests out to test interpolation
seperately to ensure all scenarios are covered.
lots of documentation additions
Merge branch 'feature/config-registry-rewrite' into develop