fixes and refactoring of 'buildslave create-slave' command

Some fixes and refactoring on the code that implements 'buildslave create-slave' command.

* catch file I/O exceptions while creating slave basedir and print error message for the user
* moved code to validate master argument to buildslave.scripts.runner.CreateSlaveOptions class
* replaced buildslave.scripts.create_slave.Maker class with local functions
* added unit tests