foundation: Fixed bug that a view buffer of a non-reusable buffer was
created as reusable buffer. Now the view buffer will also be a
non-reusable buffer.

Added unit test to reproduce the problem.

Moved ReusableBufferTest class to new package which does not have
".test." in its name.
foundation: Created unit test for BufferPool class.

Added getPoolSize(int) to BufferPool class for unit tests.
servers: SetupUtils: Fixed path to default SSL certificates.
servers: Added example which uses libxtreemfs for Java with the default
SSL certificates to read and write a 1 MB file.
foundation: BufferPool unit test: Fixed a typo which I forgot to include
in a previous commit.
servers: OSD: HashStorageLayout: Fixed typo in comment.
client: VolumeImplementation unit test: Fixed indentation.
foundation: RPCNIOSocketServer: When binding the server socket fails
with a BindException, rethrow it with the failed port number.

This will simplify to find the ports which cannot be reused during the
nightly JUnit test runs.
servers: libxtreemfs for Java: Fixed problem that synchronous RPC calls
did not wait between two attemps to execute the request.

A result of the problem was that retry attempts were exhausted very fast
e.g., when the server refused the connection.

This commit adds a simple Thread.sleep() which waits
options.getRetryDelay_s(). An advanced version could take the time
already elapsed into account (like the C++ client does).
client: helper.cpp: Fixed wrong comment where the word "stripe" was
used, but "chunk" was meant.
client: helper.cpp: Removed trailing whitespace.
client: Implemented multi-homing support in C++ libxtreemfs for Linux.

If multiple addresses for the same UUID are available, the first address
which matches a locally available network will be preferred.

In helper.cpp a new method "GetNetworks()" was introduced which
enumerates the available network interfaces.

Added corresponding unit test helper_test.cpp for the new method.

Added unit test client_implementation_test.cpp which tests the correct
functioning of the multi-homing support.
client: Unit Tests: Shutdown protobuf library at exit (necessary if
tests do not call the ClientImplementation destructor.)
client: FuseOptions unit test: Fixed memory leak (found by Valgrind).
client: UUIDIterator unit test: Fixed Valgrind error "Conditional jump
or move depends on uninitialised value(s)" caused by loop which iterated
beyond an array.
client: AsyncWriteHandler unit test: Fixed Valgrind error "Use of
uninitialised or unaddressable values in system calls" due to write
buffers which were not initialized.
client: FileHandleImplementation: Fixed memory leak during truncate().

Found by Valgrind when running the object_cache unit test.
client: UserMappingGrid: Fixed two race conditions which resulted in
flaky unit tests (mostly when run through Valgrind).

1st race condition: When the gridmap file was rewritten, it was
truncated first and then the new content was written. However, between
both modifications the "mtime" of the file did not change and therefore
no reload was triggered. To solve this problem, the file size is
monitored now as well.

2nd race condition: It was possible that a new version of the gridmap
file was written after the initial Start) and before the monitor thread
was started and initialized the first known date and size of the file.
Consequently, the monitor thread observed the new file as the latest
known file and could not observe the change of state from old to new.
Fixed by initializing monitored time and size of the gridmap file before
the monitor thread gets started.
client: UserMappingGridmapGlobus unit test: Added check if gridmap was
successfully written. Removed initial wait of 1 second because the
synchronization of the monitor thread was improved in a previous commit.
client: UserMappingGridmapUnicore unit test: Refactored both test
fixtures by introducing a new base class.


Added check if gridmap was successfully written.

Removed initial wait of 1 second because the synchronization of the
monitor thread was improved in a previous commit.