Remove obsolete exception class
Streamline exception classes and names

Expected errors (those errors that are caused by the environment or
input data and not bugs in the code) are now all subclasses of
MachineryError. Those exceptions will be handled specially, e.g. by not
showing a backtrace.

This commit also harmonizes the names of the exception class which were
not very consistent.
Handle "MachineryError"s appropriately

"MachineryError"s are expected errors where we only want to show the
error message to the user.
Handle unexpected errors appropriately

Excpetions which aren't treated specially (like MachineryException or
Cheetah::ExecutionFailed) are considered bugs in our code so we log the
error and the backtrace and show a meaningful message to the user. That
message explains how to file a bug report for machinery and contains all
relevant information about the error including the backtrace.
Do not continue inspecting the system in case of unexpected errors

When an Inspector fails with an "expected error" (inheriting from
MachineryError) we collect those errors and show them to the user after
the full inspection is done.

In case of unexpected errors we rather want to bail out immediately
though because it's likely that the whole inspection result will be
useless.
Merge pull request #8 from SUSE/review_140731_improve_error_handling

[Review] Request from 'aduffeck' @ 'SUSE/machinery/review_140731_improve_error_handling'
Fix "analyze -o config-file-diffs" on SLES12 systems

Until now we called zypper so that temporary directories were used
instead of the system ones e.g. for the package cache and other things.
Unfortunately zypper does not allow to override the services
directory which is a problem on systems that have services installed.

In order to solve that conflict zypper is now called in a complete
chroot environment, making it completely independent of the system
zypper environment.
Get rid of global RemoteSystem#connect stub

Local stubs/mocks are used instead in order to make things clearer.
Fix RSpec deprecation warnings about old "stub" syntax
Renamed clone command to copy
Merge pull request #17 from SUSE/review_140731_renamed_clone_command_to_copy

Renamed clone command to copy
Add description of development work flow
Changed Cheetah exceptions to show all standard error output.

- In case of an unexpected Cheetah related error, collect stdout, stderr
  and backtrace and display them next to the error message
- Remove one obsolete conditional layer according to PR
- Write all available information about an error into results and output
  result on stdout as well as in writing it into the logfile
- Only show stdout/stderr/backtrace if it is available

Changes according to PR.

Only show stdout/stderr/backtrace if it is available.