Router/Dispatcher: Clone params and options instead of changing them.

Closes #383.

- Overhaul the specs to reflect that change.
- Group Router spec with `describe`.
- Group Router methods more logically.