Added some javadoc and added Gnu GPL license to every file.