libclient: add libclient

This is a first version of the BPM Client API
that is used to communicate to the BPM server
hal/debug/debug_subsys.h: add libclient as a new subsystem

For now, we are sharing the same file between the
server and the client
libclient/bpm_client_err.*: add error files
libclient/bpm_client_code.*: change codes prefix to BPM_CLIENT
libclient/bpm_client.*: add better error handling

Also, we have added some debug messages with the
HAL_ASSERT macros
libclient/Makefile: add new include directories
hal/sm_io/modules/*: unify SMIO codes and simplify "acq" messages

Now, we have a single file for the respective SMIO opcodes
and error codes.

Also, the SMIO "acq" messages were simplified with only one
success code and error codes.
hal/**/_codes.c: removed unused code structure

These structures were not used anywhere in the
code
hal/sm_io/*/sm_io_codes.h: include all SMIO codes in a single file

This will be useful for the libbpmclient library
that needs to know the SMIO opcodes and error codes
libclient/bpm_client_err.*: add error codes
libclient/bpm_client_codes.*: add include to general SMIO codes

Now, we can simply reference the general SMIO file
that includes all other SMIO codes.

Also, removed unused code structure
libclient/bpm_client.*: add acq SMIO client functions
libclient/Makefile: add SMIO acq files and codes
hal/sm_io/*/ddr3_map.h: remove unnecessary include
libclient/Makefile: add missing objects and header files
sm_io/modules/acq/*: add new SMIO acq channel definition file
libclient/*: add SMIO acq definiton file to install rule

The client may need to know what is the sample size
of an specific channel
hal/sm_io/modules/acq/*: change sample size names
examples/acq.c: modify acq example to use libclient
examples/client.c: modify client example to use libclient