traverse catalogs in recycle bin
FIX: MockCatalog didn't Clone() recycle bin
TEST: delete unreferenced named snapshot
add swissknife command to empty recycle bin
register new swissknife command
cvmfs_server gc updates the history db
TEST: integration test 560 tests dry run
Merge pull request #615 from reneme/feature-use_shadow_history

Feature: Use Shadow History to Sweep Orphaned Catalogs 

This uses the shadowed hashes in the recycle bin of the history database to sweep orphan catalog revisions. Internally, all catalog hashes from the recycle bin are added as 'pruned catalogs' to the catalog traversal object. After garbage collection finished, a new swissknife command tag_empty_bin does take care of the necessary history database update. This pull request finalises the basic garbage collection functionality.

Furthermore, this runs the whole garbage collection in a repository transaction both to allow for the history database update and to avoid concurrent publish operations.

There is also a new unit test checking the behaviour of the garbage collector in the presence of orphaned catalogs. Integration test 560 should not fail anymore after applying this pull request.