add some const
serparate client and server demo binary
add draft for connection initiation
fix Connection creation
cleanup according to code review

 * unique_ptr<A> implicitly casts to unique_ptr< parent of A >