Add a Logger to the Abstract Storage.

Signed-off-by: Jacob Kiers <jacob@alphacomm.nl>
Improve the Storage API and add logging.

Signed-off-by: Jacob Kiers <jacob@alphacomm.nl>
Have Memcached automatically add the prefix.

Signed-off-by: Jacob Kiers <jacob@alphacomm.nl>
Add ability to store values of arbitrary size.

Signed-off-by: Jacob Kiers <jacob@alphacomm.nl>
Addressed comments of @reenl.

The maximum sizes of a value and a split value are now defined, and the
checking logic for split values and the number of split parts is
extracted into their own methods.

Also, these methods now check for the integrity of values, which in the
case of ::getNumberOfParts() prevents a possible DoS on the Memcached
server.

Signed-off-by: Jacob Kiers <jacob@alphacomm.nl>
Merge pull request #20 from jacobkiers/feature/improve-memcache-storage

Allow large values in Memcache storage.
Bugfix: Timeout should not be less then 0.

When 2 jobs are scheduled at the same the timeout for the second schedule could drop below zero, this results in an infinite timeout.

Resolves #22
Cleanup sockets when timeout occurs.

This fixes #24.

ZMQException:
"Operation cannot be accomplished in current state"
Merge pull request #25 from alphacomm/bugfix-24

Cleanup sockets when timeout occurs.