Feature: Integrate Timestamp Based Garbage Collection

This adds the possibility to do a garbage collection based on revision time stamps. The `cvmfs_server gc` command can now work in the following modes:
```bash
# delete all revisions except tagged ones and HEAD
cvmfs_server gc foo.repo.name

# delete all revisions except tagged ones + <n> previous revisions
# Note: each tag retains a ancestor history of <n> revisions
cvmfs_server gc -r <n>

# delete all revisions that are older than <t>
# with <t> being a timespec readable by `date --date='<t>'`
# Like: 'yesterday', '3 days ago', 'last week', '15.11.2014', ...
cvmfs_server gc -t <t>

# a mixture of -r and -t is prohibited
```

With the timestamp based garbage collection it is potentially possible to delete the HEAD revision as well, hence this is double-checked before.

**Note:** Based on [Feature: Garbage Collection](https://github.com/cvmfs/cvmfs/pull/605),  [Feature: Server Integration of the Garbage Collection](https://github.com/cvmfs/cvmfs/pull/606), [Feature: Add a MockHistory in the Unit Test Suite](https://github.com/cvmfs/cvmfs/pull/607), [Fix: Garbage Collection Code Base](https://github.com/cvmfs/cvmfs/pull/608), [Feature: CatalogTraversal can have a Timestamp Threshold](https://github.com/cvmfs/cvmfs/pull/610) and [Fix: Test 560 did not Properly Use $CVMFS_TEST_REPO](https://github.com/cvmfs/cvmfs/pull/611).