Make YastModule#{ybc_deps,ruby_deps,transitive_deps} return objects

This commit makes YastModule#{ybc_deps,ruby_deps,transitive_deps} return
YastModule objects instead of module names. This has several benefits:

  * Code using these methods is simpler as it doesn't need to look up
    the modules.

  * There are less references to |$yast_modules| scattered over the
    code (this is related to the previous point).

  * It will make topological sorting of YaST modules (something that
    will need to be implemented in order to make |yk compile all| run
    properly on a clean system) easier to do.
Return exit code 1 on any exception
Return exit code 1 on any compilation error
make "mouse" module build
Merge pull request #242 from lslezak/mouse_build_fix

Make "mouse" module build
Merge pull request #240 from yast/error-codes

[Review] Request from '' @ 'yast/ycp-killer/error-codes'
explain ruby and ybc deps in readme
Merge pull request #235 from yast/deps-methods-return-objects

Make YastModule#{ybc_deps,ruby_deps,transitive_deps} return objects
Merge pull request #243 from yast/ruby_deps_readme

explain ruby and ybc deps in readme