Refactored to be more clear
Added send_to_client function to send to specific client
add receive message that starts with @private and all strings are now str instead of a mix
Various fixes and cleanups

- All strings in server are now str instead of mix between str and bytes
- Added "@private" on server, if client sends @private, server knows it's not mean to be spread.
- Added send_to_client to send to specific client
- Renamed 'spread_the_word' to 'send_to_all_clients', more clear
- Client now knows itself (self.sockname attr in class)
- Added test for send_to_client