routing: big refactor, should be easier to use (simpler types exposed)

This is a breaking change. If no one speaks up soon, it will be merged into v0.4.0 (and snapshot published). If you're using reactive-routing 0.4.0-SNAPSHOT and can't take such a breaking change please speak up.
Thanks.