Feature: Minor Additions Along with History Rewrite

This contains various minor things added while rewriting the named snapshot implementation.
These are the main things:

* `UniquePtr` has an `IsValid()` method
* `UniquePtr::Release()` drops ownership of a wrapped pointer
* `UnlinkGuard` is an RAII for automatic file deletion
* `Catalog::GetLastModified()`
* `Spooler::ProcessHistory()` to simplify history database upload
* Refactored repository signing in `cvmfs_server`
* Various setters in `Manifest`
* `Observable::RegisterListener()` can now handle closure callbacks (`BoundClosure`)

Additionally there are various unit test (adaptions) for these changes.