Add networking classes and initial CMake support