Add schedule_suite.sh functionality to teuthology-suite

Some of this is just refactoring ```teuthology.schedule``` so that I could actually add functionality to it without adding complexity to an already scarily-complex module. But a lot of it is also new code. I added some tests where it seemed reasonable.
not sure I understand this commented out part. Is this meant to be informational or was it just left commented out for a reason?