quad: don't block for client on virtual quad
Problem
The virt-quad requires the ground station to be run, due to the blocking while loop for accepting socket clients. Not every quad test will require the ground station.
Solution
Make the virt-quad more flexible by allowing it to connect to clients on the fly, enabling us to test/simulate other aspects of the quad that don't require the ground station.
😉
Disclaimer The git-diffs don't give Kris justice. Most of the code is still his, just with a tab adjustment because I haven't bothered to change my editor config. The only part that has actually changed is the accepting of clients (and then the addition of checking for clients in the write
/read
functions).
Review: