add the first cut of middleware and some documentation
add middleware to gemspec
Merge pull request #1 from janxious/add_middleware

Add first cut of middleware