Move all *Context classes from being static/inner classes

Also moved anything with a sub-context into a separate package.

Note that I briefly had all the beans within contexts moved to
separate classes too, but then realized that was unneeded. That
probably left some artifacts of the temporary change around in terms
of the diff, with classes moved around some.
Cleanup whitespace, imports.
Merge pull request #129 from abayer/resolvestrategy

Move all *Context classes from being static/inner classes
mark 1.20 as incompatible with previous versions
Add support for throttle-concurrent-builds-plugin
Merge pull request #127 from abayer/throttle-concurrent

Add support for throttle-concurrent-builds-plugin