restructure project for client/server folder structure, and setup test f...

...ramework

This is a bit of a rushed pull request, I just want to make sure the new file structure is on master before anyone tries working off the old one