Begin client-side implementation of buxton_*_list_keys

All this does so far is enable the client to use the function whilst
in direct mode. The client will be able to obtain a list of all keys
within the given layer.

The "glue" to make this work needs implementing within the backend
modules and then the protocol. These will follow in separate commits.

Signed-off-by: Michael Ikey Doherty <michael.i.doherty@intel.com>
serialize: Support serialization of BuxtonArray

With this commit we can now pass a BuxtonArray to buxton_serialize_message
as the only parameter, using BUXTON_CONTROL_LIST, to serialize all of
the BuxtonData's within that array.

Deserialization is unaffected, as the returned data is correctly
serialized with the parameter count coming from the length of the
original array.

Signed-off-by: Michael Ikey Doherty <michael.i.doherty@intel.com>