more websocket test updates

I tried to rebase and organize the commits so that the descriptions were self-explanatory.

The goal of this series of commits was to now use C for the server-side code of each test, so that we can soon compile the server with emscripten and test listen server support.

I removed the old bi-directional tests, as they didn't seem to test anything beyond what the new echo client / server test supports, same with `test_sockets` and `test_sockets_select_server_closes_connection`. Additionally, I had greatly simplified `test_sockets_gethostbyname`, however, the current implementation doesn't support `gethostbyaddr` so it's temporarily disabled.