Rewrite: Swissknife History Integration

This replaces the old history management in `cvmfs_swissknife` that was handled by `CommandTag` and `CommandRollback` by a couple of new commands, namely: `CommandCreateTag`, `CommandRemoveTag`, `CommandListTag`, `CommandInfoTag` and `CommandRollbackTag`. All of those are sub-classes of a new `CommandTag` that provided some common functionality. For example loading of manifest, catalogs and history databases as well as upload and publishing functionality.

Note: Adaptions for the integration test `520 - history` will come with the next pull request.

Note: This contains [Rewrite: Named Snapshot History Management Class](https://github.com/cvmfs/cvmfs/pull/591)
Well, looking into the `Manifest` structure, I believe it would make most sense to stack-allocate it by default and pass the object around using references. There is no resource allocation in `Manifest` that would justify a heap allocation of this class. A quick-fix for this particular issue would be a copy constructor in `Manifest`, but it would be smelly in my opinion.