Fix module dependencies

This PR moves a few things around, breaking circular dependencies, so we have a nice dependency tree.

This is done by:
- [X] Make "command" _not_ depend on "connection"
- [ ] Make "command" _not_ depend on "action"

If you see any circular dependencies which I didn't yet mention, notify me.
Nah... I mean: what's going to be added apart from... commands?