Issue Resolved: Refactor & Add Client Server Functionality #11

@CARammelkamp

Resolved issue #11

Request 500+. I've completed the requirements for the stated 500, however, I took extra time to make it pretty and add javadoc comments. If you think my work is worthy any extra points please be generous!