External setpoints

**Not ready to merge yet**

This PR contains the external setpoint messages as defined in the section "Setpoint commands" in https://docs.google.com/document/d/1m7Cep2U5eCe5M62Y6a_4CNGF7QM4UgJtmMFq2FrRo3s/edit?usp=sharing

The code reflects the proposal in the document and will be subject to change as the discussion goes on.