Wrap everything that can fail in commands into an |action|

This way we'll get unifrom error handling for all command code.
Introduce Command#file_action

This simplifies and de-duplicates code in YbcCommand and RubyCommand
quite a bit.
Use the Messages module for all messages to users
Refactor the Messages module and its usage

The status messages after actions ("OK", "ERROR(ybc)", etc.) are not
printed now. This makes the code more amenable to parallelization (the
lines won't be cut in half if actions run in parallel).
Colorize error and warning messages
refactor obs dir to be consistent with rest of dir attributes
add build command
add submit command
Merge pull request #321 from yast/bs_commands

Bs commands
make "add-on-creator" build
Merge pull request #324 from yast/messaging-refactoring-2

[Review] Request from '' @ 'yast/ycp-killer/messaging-refactoring-2'
Merge pull request #325 from lslezak/addon_creator_build

Make "add-on-creator" build
Merge remote-tracking branch 'upstream/master' into yk_multithreading

Conflicts:
	lib/commands/command.rb
	lib/commands/ruby_command.rb
	lib/commands/ybc_command.rb