add `UniquePtr::IsValid()` and `UniquePtr::Release()`
FIX: pointer dereference of `UniquePtr`
TEST: unit test set for `UniquePtr`

Conflicts:
	test/unittests/CMakeLists.txt
add `UnlinkGuard` to util.h
TEST: unit test set for `UnlinkGuard`
add `Catalog::GetLastModified()`
add convenience method history db processing
Refactor: extract method `sign_manifest`

Conflicts:
	cvmfs/cvmfs_server
add setters to `Manifest`
allow closure in `Observable::RegisterListener()`
TEST: add closure usage to t_util_concurrency.cc
Merge pull request #586 from reneme/feature-minors

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.