Grandioso! Repackaged, documented, renamed!

I wanted to write a new implementation of Quadrant, to leave the current
one in but have a new one that will approach detection differently,
without relying on data source too much.

This led to QuadrantDetector interface and API package. Which led to
packaging:
- sonar - sonar-required files
- API - abstractions
- core - core classes, detectors
- criteria - complexity and change rates-related files went here

While doing both I noted how poorly most of them are documented so went
and added Javadocs, explained concepts, noted technicalities etc.

Fields were made final in some cases, current implementation is renamed
as old, we also have a file judge that will ascertain whether file is
complex or simple and frequently or rarely changed.

The bulk of all patents are crap.  Spending time reading them is stupid.  It’s up to the patent owner to do so, and to enforce them.
		-- Linus Torvalds
Javadocs for criteria package

To iterate is human, to recurse divine.
		-- L. Peter Deutsch