Refactor Figaro::ENV to compare downcased keys rather than upcased
Make Figaro::ENV bang/boolean methods make use of the plain methods

This allows a developer to stub the plain method and the corresponding
bang/boolean methods will work as expected. Otherwise, the developer
would have to stub all three methods separately.
Refactor Figaro::ENV for performance, to lazily load values