(fix) Remove usage of replace_map.

Replace-map is unsafe in the presence of exceptions,
so its use must be removed. Instead, the internal
representation of Chain now uses a mostly-always-Some
Option to store its Handler.

Additionally, to simplify the ecosystem, AroundMiddleware
has been modified to receive and return
Box<Handler + Send + Sync>.

[breaking-change]