remove cvmfs_server gc from usage string
insert default GC timestamp threshold
FIX: use get_user_shell() in cvmfs_server gc
Refactor: extract a minimal GC run function
always print was is going to happen
FIX: reset the trap
Refactor: $manifest single definition
FIX: extraction of trunk_hash got missing O.o
FIX: TraverseNamedSnapshots() without history db
TEST: MockObjectFetcher can hide history
TEST: unit test TraverseNamedSnapshots() without history
add automatic garbage collection at publish
TEST: automatic garbage collection on publish
Merge pull request #623 from reneme/feature-auto_gc

Feature: Automatic Garbage Collection on Publish

This allows for the automatic garbage collection after a publishing operation. To allow this, one needs to do two things:

    - The repository needs to be created with garbage collection enabled
    - The variable `CVMFS_GC_TIMESTAMP_THRESHOLD` needs to be properly configured

In detail `CVMFS_GC_TIMESTAMP_THRESHOLD` needs to contain a string that is parseable by date `--date=$CVMFS_GC_TIMESTAMP_THRESHOLD`. Furthermore this contains both a unit test and an integration test checking the proper functionality of this feature and the minor refactorings it needed.