libclient/*: fix bpm_client_codes.h header

The include rw_param_client.h should not be in the
bpm_client_codes.h file as it is exported to the user
and does not have access to it.

As the rw_param_client.h definitions are only needed
internally, we just included it in the necessary .c files.
hal/include/*: add generic definitions file for acq_chan_* headers
hal/sm_io/modules/acq/*: move data_block struct to a libclient-visible header

This is necessary, as the strucure must be known by
both the server and the client
hal/sm_io/*/acq/sm_io_acq_exp.c: use structutre for block aquisition

Our exported function structure says we return the data_block
structure, but we were returning just the valid bytes. This is
fixed now, as we return the whole block (even with invalid bytes)
and an extra field indicating which of the bytes are indeed valid.

This will be propagated to the libclient in the next commit.

This fixes #44 github issue.
libclient/Makefile: add extra installation header
libclient/bpm_client.*: fix message handling bpm_get_data_block ()

Due to recent changes in the server, we receive a new
structured type instead only the valid bytes.
Makefile: reintroduce MACRO to fix wrong ML605 FPGA bug

As the ML605 has a bug in that the acquisition core is
word addressed (and not byte addressed as all the other
ones), we need this macro to shift some register addresses
right.