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.
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