Merge branch 'release/0.8.1' into develop
Removed connections array and moved connection pointer into session structure. Started refactoring of APIs.
Add FLUSHALLDATA command.

Note: Flush appears to be a no-op in the simulator, so one of the system tests is
currently failing.
Note that the FLUSHALLDATA system test does not work in the simulator.
Version bump to v0.8.2 for FLUSHALLDATA operation, release notes.
Replaced message specific protobuf structure logger with a generic version that should work with any protobuf structure
Merge branch 'develop' of github.com:Seagate/kinetic-c into develop
Add GETNEXT / GETPREVIOUS and tighten up API for GET commands.

If GET commands are being called without either a key or (if not
using metadataOnly) a value buffer to store the result, then respond
with an explicit error code indicating such.
Add make task `valgrind_examples`.
`rake clobber` should use `bundle exec`.
Base host on the currently configured address, don't hardcode "localhost".
Only ignore FLUSHALLDATA system test when testing against simulator.

(It's a no-op in the simulator, so testing whether asynchronous PUTs
and DELETEs are successfully completed by a FLUSHALLDATA will never
give accurate info.)
Eliminate unnecessary 'return's in tail calls.
Swap bytesUsed value, preventing prematurely truncated buffers.
add getnext/getprevious to CLI utility
Fix typo in script's setting for JAVA_HOME.
Fix race condition caused by unlocking and relocking during PDU freeing.

Rather than unlocking and immediately re-locking inside KineticAllocator_FreeItem,
just retain the lock and inform KineticAllocator_FreeItem that it should not
re-lock the mutex. This would be better handled by configuring the mutexes as
recursive/counting, but as we are discussing changing the threading model soon,
it is probably not worth restructuring the mutex initialization at the moment.
implemented non-chaining p2p operations
Merge branch 'develop' of github.com:Seagate/kinetic-c into develop
Also update cur->next->previous when unlinking items from list.

This was causing memory corruption errors when running the nonblocking /
multithreaded example code - the error didn't require threads to occur,
running 4 threads with 16 concurrent requests each made the failure case
significantly easier to reproduce.

There doesn't appear to be any value in having a doubly linked list, so
the previous pointers should probably be eliminated in another commit.