1. Remove checked exceptions when getting values. Instead, throw an
unchecked ConfigurationException if the value does not exist. This is to
reduce clutter in the client code and recognise that if no default value
is provided and yet the property still does not exist, this is a
programming error, rather than a recoverable condition.

2. Fix an issue where standard Java properties files may be loaded with
UTF8 encoding, instead of Latin-1.