Agent config mutators can now return errors

Previously, functions that modify agent config could not return
errors, requiring some gynamastics to get errors out of these
functions. By requiring that errors are returned some areas that call
ChangeConfig are now cleaner.
Merge pull request #341 from mjs/improve-agent-change-config-error-reporting

Agent config mutators can now return errors

Previously, functions that modify agent config could not return errors, requiring some gynamastics to get errors out of these functions. By requiring that errors are returned some areas that call ChangeConfig are now cleaner.