test: Add 2nd element to serialize test
db: Free name when db entry already exists
libbuxton: Free data members when priority searching

When running buxton_client_get_value, the data returned when a layer
had a key was being discarded without freeing items allocated to the
structure.
shared: Set BuxtonData's value's length correctly based on type

Because the BuxtonDataStore's BuxtonString element has a char * in it
the size of the store would vary between 32 and 64bit architectures.
In order to allow sending the correct size in an architecture agnostic
way, set p_length based on the BuxtonData type instead of based on the
union max size (could be 16 or 8 bytes depending on architecture).
shared: Add serialize message debug logging
test: Add coverage for serialize parameters being bad

Was missing tests for too few parameters and too many parameters that
were being checked in the serialize_message function.
shared: Add check for CONTROL_MESSAGE_MIN
test: Add tests for message header validity in deserialization

Was missing test cases for smaller than minimum message size, wrong
control message and message type being too big or too small.
test: Add test for min and max params in message deserialize
test: Add test for malformed message with bad size

If a message is bigger than the minimum but less than or equal to the
size of the header plus the size of one data deserialization should
fail. Add test to verify deserialization does so.
shared: Redo test for message type validity

Since a new MESSAGE_TYPE_MIN enum was added, use that to compare
against the obtained message type in deserialization.