Pretty huge refactor related to properties files and configuration. This
allows configuration files to be read from the classpath (and eventually
in-memory).