[minor] More work on shaping the API and it's internals.

Added a better internal API, all internal middleware are now under a `versions`
variable. Added a `.read()` method for reading in a custom configuration file and
started working on the versioning rewriter.