Fix zero-length value handling

Change-Id: Ifab39d76ae50b174d53c61cd045c4fa2ffdfd342
See: ARAKOON-304
See: http://jira.incubaid.com/browse/ARAKOON-304
Add arakoon_mem_maybe_free

In order to avoid free'ing a pointer to a zero-length value (which is
not NULL nonetheless), arakoon_mem_maybe_free can be used.

Change-Id: Id0e63b05e49011c6d486b9d707334d1eb58ab9ea
Harden ArakoonValueList and ArakoonKeyValueList for zero-length values

Change-Id: Ifa6ecf6effeecc4eced086ad8c09aab39ff88b6b
See: ARAKOON-304
See: http://jira.incubaid.com/browse/ARAKOON-304
Harden protocol helpers to handle zero-length values in lists

Change-Id: I95d9919ad21d29264f15ac15aea22f9e76540dee
See: ARAKOON-304
See: http://jira.incubaid.com/browse/ARAKOON-304
Tests: Test zero-length value range-entries lookups

Change-Id: I576aee17004cf27e28502e05b9909ed9ff4484bb
See: ARAKOON-304
See: http://jira.incubaid.com/browse/ARAKOON-304