Update to include two interfaces for type safe getting of configuration
data. One interface returns an error, the other interface records the
error and then returns a default value depending on the type. It also
adds a way to automatically call a function when an error occurs.