Added buffered reading of socket

Should fix all MAC errors
Fixes #9
Fixes #5
Fixes #7
Fixes #104
Fixes #101
Fixes #113
Removed while loop in Socket_read

Fixes #6
Socket_read retry should be implemented by client