Added javadoc comments

I did not comment everything, but I tried to added javadoc comments for
anything that might be questionable. If anything is unclear let me know
and I will add/fix the javadoc comments for my parts.