Partial Port of Zsync to C++ with the intention of making the client a library, with GUI & CLI interfaces that use that library