Fix: Garbage Collection Code Base

This applies some fixes to the code submitted in the pull requests listed below. As most of this was written in summer, it needs some adaptions here and there to be compatible to the latest *devel branch*. Most of those fixes adapt the test suite that was relying on the old named snapshot implementation.

However, there are also some minor bug fixes. A fix in `CatalogTraversal` prevents it from prematurely closing catalogs if `no_close` was set to true. `cvmfs_server` did not specify the correct temporary directory for the garbage collection scratch area.

**Note:** Based on [Refactor: MockCatalog for Unit Test Suite](https://github.com/cvmfs/cvmfs/pull/603), [Refactor: Put CatalogTraversal on Steroids](https://github.com/cvmfs/cvmfs/pull/604), [Feature: Garbage Collection](https://github.com/cvmfs/cvmfs/pull/605),  [Feature: Server Integration of the Garbage Collection](https://github.com/cvmfs/cvmfs/pull/606) and [Feature: Add a MockHistory in the Unit Test Suite](https://github.com/cvmfs/cvmfs/pull/607).