Refactor collection scheduling out of main()

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Port to docopt

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Only allow scheduling one suite per call.

Also remove all traces of the extra and confusing term 'collection'

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Remove 'template' feature

Neither Sage nor I could find anything that used it

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Silence connection pool logging

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Add functions for querying gitbuilder repos

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Take machine_type instead of worker

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
'and' is a thing

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Remove unused functions

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Don't reread the entire yaml file...

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Tweak usage formatting

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Organize arguments into logical sections

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Use the return value of schedule_suite()

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Split prepare_and_schedule() out of main()

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Don't schedule an email job if email isn't set

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Add default results_email

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Do everything that schedule_suite.sh does

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Raise ScheduleFailError even if not sending email

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Add lots of unit tests for teuthology.suite

More to come...

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
With dry_run, quote any individual args

So that individual commands can be copied and pasted
in order to execute them individually.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>