Initial Java commit

Contains all the Java files for this project
Initial C++ commit

Initial commit of the C++ files from this project.