Program now returns 1 if errors occurred.
Added details to debug logging in controller module.
Improved debug logging in cycle module and fixed bugs.

When building the snapshots lists, snapshots are now inserted at the
beginning of the list rather than appended. This way, snapshots[0] is
the most recent. Modified unit tests to reflect this.

Cycle._cp_la is no longer a staticmethod because it needed to access
self._logger.

When copying a snapshot from another cycle, the Cycle instance checks
wether the other cycle actually contains a more recent snapshot than it
already has.

Added a __repr__() special method to the Snapshot class.