gruops: 'list' and similar commands should run without root. (RhBug:1080331)
fix leak: Base.__del__ causes GC-uncollectable circles.

This in effect means __del__ will not be called. Let's drop it. API users know
to use context manager/call close() and so does main.py.
refactor: put DistoSyncCommand into its own file