updates liscence, adds file headers, adds javadoc comments, adds suppot for -help cmd flag