Work on better error handling.

* Added support for throwing Python exceptions.
* Added support for getting csync status (error) code and converting it
  into a string (need patched libcsync, see patches/ dir).
* Added CSYNC_STATUS enums into the csync.Status namespace.
Finished better error handling.

No more assert() for libcsync errors! They are now reported the
propper way by throwing -- sorry, I mean raising -- an exception.
assert() is still used for sanity checks ...