expand rights for events

this version actually works.
remove EventThread use RWSO

was an interesting idea but too much trouble to get in ship shape.

Still need to refactor a lot in order to manage the RWSO handles.
design change

This is the new design
1- there is no central std::vector<ClientRecord>, the implicit list is
mantained by the windows threadpool.
2- the main thread does not service the pipe.  The main thread services
a IO completion port.
3- worker threads service a variable number of pipes, one per thread, so
we can accept registrations from multiple clients.