added tests for using `use` for middleware over `middleware`
alias `middleware` as `use`
reduce complexity of middleware adder
add test for middleware inheritance
implement middleware inheritance
add test for inheritence of grouped middleware
added test for inherited middleware order
fix expected ordering of inherited middleware
improve ordering of inherited middleware