driver tmcm: provide ROVA speed and fix cancelling a move

Read speed from the controller. Seems very approximate.
If necessary, we could also allow to write it back.

Handle correctly the cancelling of a move.
Previously, it would report success of a cancel while it had not managed.

also activate all the test cases (seem to pass)
model: extend CancellableThreadPoolExecutor with .submitf()

this allows to start a task with a special type of Future.

Also ensure that cancellable futures are correctly handled when task returns while cancelled during the call.

also add test cases, and update the (unique) user.
driver tmcm: improve future management

each future get its own locks, simplifying the locking code

moves now compute the expected duration, allowing to reduce the communication with the hardware.

fix simulator not reporting the current position.