(refactor) Change all the things

This PR is a wide-reaching, fundamental refactor to the way Iron
works.

It includes these changes, but probably more. I recommend reading the source
if you want an exhaustive list of changes. I will detail all of the changes
in a blog post in the near future.

- enter/exit -> before/after
- introduces Handler and removes special treatment of Chain
- Clone -> Send + Sync
- Alloy -> Plugins
- Better Error system and the error type from rust-error
- various other things about the place

Not ready to merge. Waiting on further changes and debugging.
You can duplicate most of the functionality of AroundMiddleware using before and after, but it is often more elegant as AroundMiddleware as they can be used as Handlers.