Refactor: cvmfs_server Named Snapshot Management

This contains the necessary adaptions in `cvmfs_server` to cope with the new history module in `cvmfs_swissknife` as well as some CLI improvements. Mainly there is a new command `cvmfs_server tag` that manages addition (`-a`), deletion (`-r`), listing (`-l` - alias for `cvmfs_server list-tags`), moving (`-a -h`) and inspection (`-i`) of tags. Nevertheless, it is still possible to create new tags on `cvmfs_server publish` by adding the `-a` parameter.

Tag management can now be performed without publishing a new root catalog. Furthermore this fixes a bug, that automatically created tags could not be deleted without creating a new automatically created tag. Also it is now possible to delete more than one tag at a time by invoking `cvmfs_server tag -r <tag1> -r <tag2> -r <tag3>`.

Note: This contains [Rewrite: Named Snapshot History Management Class](https://github.com/cvmfs/cvmfs/pull/591) and [Rewrite: Swissknife History Integration](https://github.com/cvmfs/cvmfs/pull/592)
That's dangerous, I think.  What if a transaction was open *and* files were added to the staging area?  Perhaps it is better to let the tag command open and close the transaction.