Separate scheduler from registry

Part one of several changes.

This does not change any behavior, but I did change scheduler's arguments in anticipation of my next PRs. There's now a clear dependency from registry to scheduler, and a nice scheduler test framework.
This is very much a "rough draft" scheduler (and note that this PR is just me moving what we already have to a more reasonable location). Having constraints & attributes that affect scheduling is something we do internally, and we'll possibly implement that here, but that rapidly gets quite complex and we will probably not do it with labels, which are intended for users of the system, not the system itself.

Work on the scheduler:

My next PR (or at least a planned one) is going to focus on fixing racy behavior in pod registry by changing the component that calls the scheduler.

After that, we can work towards getting this scheduler to the point where it can care about the available resources of the minions. We'll probably do that by having some interfaces so the scheduler can talk about resource requirements and availability, etc. I have some ideas for doing this.