Some free time, some free code!

Whole bunch of changes here... To list a few:
- Started cleaning up Javadocs
- Code cleaning in general
- Performance tweaks
- Rethinking of main program structure...
- Changed modes up a bit to make them... ahem... more logical...