SocketDescriptor: Cast Get() output to unsigned for winsock.h

On Windows the winsock.h expects a SOCKET as the first parameter of FD_SET
and the same header typedefs SOCKET as unsigned int. If the output of Get()
is passed directly as an int, then the following error appears on mingw32:

./src/OS/SocketDescriptor.cpp: In member function 'int SocketDescriptor::Wa
itReadable(int) const':
./src/OS/SocketDescriptor.cpp:193:3: error: comparison between signed and u
nsigned integer expressions [-Werror=sign-compare]
./src/OS/SocketDescriptor.cpp: In member function 'int SocketDescriptor::Wa
itWritable(int) const':
./src/OS/SocketDescriptor.cpp:212:3: error: comparison between signed and u
nsigned integer expressions [-Werror=sign-compare]
cc1plus.exe: all warnings being treated as errors
mingw32-make: *** [output/PC/./src/OS/SocketDescriptor.o] Error 1
SocketDescriptor: Support rvalue references

The following compilation error on mingw32 is fixed by this patch:

"  CXX     output/PC/./src/Device/Port/SocketPort.o"
./src/Device/Port/SocketPort.cpp: In member function 'void SocketPort::Set(
SocketDescriptor&&)':
./src/Device/Port/SocketPort.cpp:72:29: error: use of deleted function 'Soc
ketDescriptor& SocketDescriptor::operator=(const SocketDescriptor&)'
In file included from ./src/Device/Port/SocketPort.hpp:28:0,
                 from ./src/Device/Port/SocketPort.cpp:24:
./src/OS/SocketDescriptor.hpp:41:7: note: 'SocketDescriptor& SocketDescript
or::operator=(const SocketDescriptor&)' is implicitly deleted because the d
efault definition would be ill-formed:
./src/OS/SocketDescriptor.hpp:41:7: error: use of deleted function 'FileDes
criptor& FileDescriptor::operator=(const FileDescriptor&)'
In file included from ./src/OS/SocketDescriptor.hpp:33:0,
                 from ./src/Device/Port/SocketPort.hpp:28,
                 from ./src/Device/Port/SocketPort.cpp:24:
./src/OS/FileDescriptor.hpp:44:7: note: 'FileDescriptor& FileDescriptor::op
erator=(const FileDescriptor&)' is implicitly declared as deleted because '
FileDescriptor' declares a move constructor or move assignment operator
mingw32-make: *** [output/PC/./src/Device/Port/SocketPort.o] Error 1