Initial code commit, not ready for production

- Initial client, server, and test libraries
- Several bugs that need to be fixed
- Several missing features that need to be implemented
- More tests need to be written