added ability to error on extra keys supplied via environment
added error on missing keys
fix issue with ErrorOnExtraKeys still returning errors when false
use a settings object - this should be functional now