Added variable length values and large/small keys.

Failed GET is now indicated by setting len = -1. This should be compared
to (uint8_t) -1 and not plain -1.