code: def use(middleware, *_args, &block)
        stack(middleware).use(middleware, *_args, &block)
      end
docs: Adds middleware to the current stack definition
  
   @param [Class] middleware  The middleware class to use in the stack
   @param [Hash]  opts        An options hash that is passed through to the middleware when it is instantiated
  
   @yield The block is provided to the middlewares #new method when it is initialized
  
   @example Bare use call
     MyApp.use(MyMiddleware, :some => :option){ # middleware initialization block here }
  
   @example Use call after a stack call
     MyApp.stack(:foo).use(MyMiddleware, :some => :option){ # middleware initialization block here }
  
   @see Pancake::Middleware#stack
   @api public
   @since 0.1.0
   @author Daniel Neighman