Platform-dependent class allocated through createSocket().
createSocket() called by AbstractSocket instead than by the derived classes
createSocket() allocates a unique_ptr
Documentation: specification of design patterns used
Logger: use std::chrono to have code portability.
Logger: no overhead in Release mode
Version 0.2