Client Code - Multi Threading

The following two previously mentioned issues are resolved:
1. concurrently active conflicting commands (e.g., left/right or
forward/backward threads active at the same time).
2.  Clean-up of the list of active threads to avoid indefinite shiftl
and shiftr threads.