moved isBuildslaveDir() to it's own module

Moved isBuildslaveDir() function from buildslave.scripts.runner module
to a new buildslave.scripts.base module. This way it is possible for to
move logic for checking that 'buildslave start' is run with valid
buildslave base directory inside buildslave.scripts.startup.start()
function.
removed unused feature in buildslave.scripts.runner.stop()

No code calls stop() with wait flag disabled. Remove wait parameter,
and changed stop() to always wait for the process to finish.
specify buildslave subcommand function in it's Options class

Use subcommandFunction class variable of the subcommand's Option flag
to specify the implementing function. This is the same style used in
master cli commands implementation.
renamed SlaveOption class to CreateSlaveOption

CreateSlaveOption is a more descriptive name, and follows the
naming style of other subcommand's options classes.
copy StdoutAssertionsMixin class to slave test util package
unit tests: use assertRaises() to check for exceptions
test handling of invalid arguments to 'buildslave' cli command

Added unit tests on code in buildslave.scripts.runner.run() that
handles invalid command line arguments.
unit test successful invocation of 'buildslave' cli command
unit test options parsing for 'buildslave' command without arguments

Test that buildslave.scripts.runner.Options class flags invocation of
'buildslave' command without arguments, as invalid.
unit test handling of '--verbose' option for 'buildslave' command
unit test handling of '--version' option for 'buildslave' command
use StdoutAssertionsMixin to check prints to stdout
some unit tests on CreateSlaveOptions class

Added unit test for simple codepaths in
buildslave.scripts.runner.CreateSlaveOptions class.