Documented and cleaned-up all code. Add JavaDoc API reference to doc/
folder