This combines the `EntityCommand` and `AllyEntityCommand` to allow for more sorts of commands (e.g. click a button to assign a idle villager to a resource).
A behaviour change which I think is not too bad is that observers do not see the command buttons anymore (exept the `focus-rally`).