ComplexityRange and ChangeRate introduced

ComplexityRange can have two implementations: Low and High.
ChangeRate can have two implementations as well: Rarely and Frequently.

For now not all implementations are added as tests only cover part of
them.

With this we begin to shift from relying on FileID when determining zone
to really using complexity and change rates.

For now, sadly, we use instanceof - this needs to be changed to type
dispatch later.

It is practically impossible to teach good programming style to students that have had prior exposure to BASIC.  As potential programmers, they are mentally mutilated beyond hope of regeneration.
		-- E. W. Dijkstra
Renamed theory test file so Maven spots it

Computer language design is just like a stroll in the park.  Jurassic Park, that is.
		-- Larry Wall