Merge branch 'unstable_staging' into more_javadocs+comments
Added more javadocs to protected and private functions.
The goal is to add comments in general to help make it easier for others to follow the code and understand what is going on where.
I cleaned up a few minor things that I saw as I went through the code looking for additional places to add comments.
Merge branch 'more_javadocs' into unstable_staging