Fix http client unit test

Signed-off-by: jkaiser <juer.kaiser@gmail.com>
Add leveldb to the thirdparty installer

Signed-off-by: jkaiser <juer.kaiser@gmail.com>
Add check for leveldb to SCons script

Signed-off-by: jkaiser <juer.kaiser@gmail.com>
Add new capability PUT_IF_ABSENT

Only index structures with this capability ensure that
the PutIfAbsent method is supported. Other index implementations
should return an error if PutIfAbsent is called.

Signed-off-by: jkaiser <juer.kaiser@gmail.com>
Add basic Leveldb index.

Leveldb is a log-structured merge tree implementation using in different
database products, e.g. in Riak.

Signed-off-by: jkaiser <juer.kaiser@gmail.com>
Add leveldb-based configurations to central core unit tests

Signed-off-by: jkaiser <juer.kaiser@gmail.com>
Add leveldb-based configurations to central dedupv1d unit tests

Signed-off-by: jkaiser <juer.kaiser@gmail.com>
Fix error handling of RunUntilCompletion and its usage

If used from the daemon pclose might fail with the error code ECHILD
because the custom signal handling for the CHILD signals.
dedupv1_support clean should also remove directories.

This feature is necessary to cleanup leveldb indexes.
Fixes the file permission modifications for leveldb.

Two changes:
- The group and the mode are now only changed if they are not right
before. This avoids permission issues during the reopening of a dedupv1
  installation by a different user, e.g., for dedupv1_check
- The lock file is now created with the right permissions.