(feat) Added FromIterator bound to Chain

You can now easily collect into Chains from arbitrary iterators of
`Box<Middleware>`. This makes creating Chains of middleware dynamically
extremely easy.