cvmfs/cvmfs — pull request #34 by reneme (2012-11-21 12:53:28+00:00)
Title: Refactoring of Upload Spooler Infrastructure

This contains my refactoring efforts to prepare the upload infrastructure for the addition of a Riak Spooler Backend.

The upload backend now consists of a number of classes working together:
### `Spooler`
The frontend-spooler which is used by higher layers of the backend software. It's responsibility is to initialize and control the whole spooler module. It is provided with a *spooler_definition string*, which was there before, that contains basic information about the desired spooler module.
Furthermore the frontend spawns a spooler backend process and from there communicates with it over pipes.

### `AbstractSpoolerBackend`
This class is abstract and handles the communication with the Spooler frontend through the pipes. Additionally it defines a common interface for all SpoolerBackend implementations, that correspond to commands sent by the Spooler frontent through the communication pipes:
* `EndOfTransaction`
* `Copy`
* `Process`
* `Unknown` (unknown Command)
Might be, that it will get more basic responsibilities later on.

### `LocalSpoolerBackend`
A concrete spooler backend implementation mainly encapsulating the functionality already present before. No special magic here.

### `RiakSpoolerBackend`
This class will implement the connection of our backend to a Riak cluster. Currently it is mainly a stub.