Make essentially everything configurable.  Currently configuration is done via Java system properties, which is a little hacky.