Swap out iterative loops with functional equivelents.

Since we are already using underscore it makes sense to take advantage of all its features. The get and set methods have been refactored to use underscore functions instead of loops.
Fix an incorrect boolean operator in Config::get
Increase test coverage to deal with default values.
Add sanity checks to make sure valid keys are passed into the methods
Fix test coverage
More code cleanup primarily to make methods fault tolerant
Fix a typoin Config::get
Fix some grammatical errors
Merge pull request #3 from AgencyPMG/much_functional

Swap out iterative loops with functional equivelents.