hal/sm_io/sm_io.c: return err instead of SUCCESS

This was clearly a typo, as we handle the error inside
the SMIO macro.
hal/*/*/ml605/mem_layout.h: add PCIe relative addresses

As we need to switch between BARs, we fake our real
addresses by concatenating the BAR number in the 4 MSB.
In this way, the PCIe LLIO can differentiate between BARs
ans select the correct one
hal/sm_io/*: remove BAR addresses from SMIOs

Now, the addresses are realtive to PCIe BARs
and we don't need to know whether we are talking to
a PCIe device or an Ethernet one
hal/debug/*: add new logging capabilities

Now, we can log all messages directly into a file
of our choice. Also, it was added the error level and
the current timestamp for identification purposes.

This partly fixes github issue #9
hal/dev_mngr/*: add message log capability

Added message log initialization with command-line
support. It is possible to output messages to stdout
as before. Just pass the "stdout" string (without the
quotation marks) to the command-line.

This partly fixes github issue #9
hal/dev_io/*: add message log capability

Added message log initialization with command-line
support. It is possible to output messages to stdout
as before. Just pass the "stdout" string (without the
quotation marks) to the command-line.

This partly fixes github issue #9
init.sh: add log filename to dev_mngr command-line

For now, we default it to "dev_mngr.log", but it can
be any name.

This completely fixes #9 github issue.
hal/*/*/acq/sm_io_acq_exp.c: improve debug messages
hal/debug/*: create wrapper for zeroMQ message print
hal/{msg,sm_io}/*: change zmsg_print () to our wrapper

In this way we can redirect zeroMQ message prints
to a logfile
hal/dev_mngr/dev_mngr.c: add generic log filename

Now, we can pass the log directory and the dev_mngr
puts together the dev_mngr and dev_io log files
based on the number of devices currently running.

For now, the design is very simple and subject to
errors, such as when a dev_io exits.

In this case, the variable __dev_nums would be
decremented, but we wouldn't know which of the
dev_ios instances exited. The next time a dev_io
is started, the last dev_io logfile and device name
"/dev/fpga%d" would be choose for it, causing
the logs to be corrupted as well as PCIe access.
init.sh: add log directory to script

Now, we can pass the log directory we want
for dev_mngr and dev_io instances
Makefile: add install target to init.sh script
libclient/Makefile: add new logging functions files

As we have added new logging functions in new files,
we need to add them to libclient too
hal/*/*/rw_param.c: change wrong subsystem debug name
hal/debug/local_print.c: add fflush to log function

This avoid buffering the zmq message and hiding
our debug
hal/*/*/ml605/mem_layout.h: add ACQ SMIO hard limit

As of now, we don't have a way of checking which
channel is tha valid one. So, we hardcode this limit
in software, for now.

This is a quick fix for github issue #21.
hal/sm_io/modules/acq/*: add channel limit checking

This finishes the quick fix for github issue #21.
examples/acq.c: add better limits checking

A few hard limits were imposed to avoid segmentation
faults due to very large integers.
libclient/*: use new version of ASSERT macros

Now, instead of a "custom" error checking we use the
new verison of ASSERT macros (introduced in commit
d1cb76815) which allow us to set the "err" variable
in a more generic way.