Redesign, inspired by the martini framework. Added support for multiple
handler functions. There are 3 steps that the handlers are ran in:
"preware": ran before 'middleware'
"middleware": passed in during route creation (e.g. server.Handle("/",
func1, func2...)
"postware": ran after the middleware