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
Fix indentation
Consolidate exception classes

Our rationale for exception classes is to have exception classes for
cross-cutting concerns (system description, connection erros,
command-line) and then for specific areas (building, kiwi export,
deploying, inspection). Inside these we try to not introduce too many
similar classes.