Extension of the Local Repository Scrubbing Tool

This adds additional checks and improvements to `cvmfs_swissknife scrub`. Additionally it is now accompanied by an integration test case.

Currently `cvmfs_swissknife scrub` checks in  */srv/cvmfs/<repo>/data/* and complains about:
- regular files in */srv/cvmfs/<repo>/data/*
- non-empty *txn* directory
- sub-directory inside the *00-ff* directories
- directories in */srv/cvmfs/<repo>/data/* with names other than 2 or 3 characters long
- symbolic links anywhere in */srv/cvmfs/<repo>/data/*
- mismatch between content hash and object file name
- unknown object modifiers (**H**, **C**, **P**, **X**)
- malformed file name length (resulting in a malformed content hash)
- illegal characters in the content hashes derived from the file names (**0-9**, **a-f**)

Integration test 542 provocates all of the above checks to fire at least once.