First pass at core syncing functionality

Implemented syncing functionality, as well as the event handlers.
Decided to have Sync return a Task to make it awaitable. Also decided
against implementing as a static class.

Switched from Any CPU to x86 because that's what p4dn supports.