Sockets specializations reimplemented as template + typedefs.

Current approach solves VS2013 inability to generate move ctor/move assign
and also reduces duplicated code.
Merge pull request #33 from oliora/master

Sockets specializations reimplemented as template + typedefs.