Start making config a little more parametric
Un-optional closeness constraints

As that's the whole point of this scheduler.
Document some more parameters.
Derive bitwidths from match configuration
Move a piece of validation code.
Make validation repeateable.
Recompute bitwidths in a function.

Also global up all the things.
Allow configuration of rounds / teams / etc
Completely munge the config situation.

Now use some globals in the 'config' module, and refer to them
explicitly from the scheduler. Massively annoying, but good for keeping
the config stuff selfcontained.
Further config-faff other files