Fix using uninitialized pointer.

C6001 Using uninitialized memory 'ent'.
line 321: 'ent' is not initialized
line 321:'ent' is used, but may not have been initialized
Remove code for old windows versions.

Currently we support WinXP SP3+ only.
assert for nullptr.
Fix possible nullptr dereferencing.
Cleanup win32 stuff.

The official macro is _WIN32
Don't check new pointer for nullptr.

Nowadays thats the task of the OS.
Fix possible segfault.
Check for valid element types.

Invalid remote data should never cause exceptions.
Fixed incorrect variable name and references.
Note release.
Enable boost::asio.
Remove skstream.
Use boost::asio for all io.

This initial commit lays the groundwork; there are much more things that
needs to be done. But atleast it compiles.
Bump version info.

The switch from skstream to boost::asio warrants a 1.4.0 version.
Removed Alarm since it's never worked.

The Alarm class has never worked, since it never registered itself.
Use the io_service for timed event.

We've done away with our own implementation of TimedEventService and
Timeout and instead use boost::asio::io_service.
The semantics of how the library is used is also slightly changed. You
must now create an instance of TimedEventService yourself at startup. We
probably want to change this so it's not a singleton; but for now this
will have to do.
Always signal when disconnecting.

I can't see any reason why we shouldn't signal.
Moved low level socket code to separate files.
Fixed tests.
Remove obsolete Poll code.