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.
This should be a plural (`ws_commands_add` instead of `ws_command_add`)