fix format specification in sscanf/sprintf
test: fix horrible compilation times

This modifies the test compilation setup to match the newest
rock_testsuite handling (updated from the cmake_lib template).
It makes sure we don't compile Boost.Test support if the shared
library is available.
remove definitions of long-gone methods
fix typo of dublex instead of duplex
remove close() which simply forwards to the iodrivers_base method
remove hard to follow state handling in the driver

The driver is trying very hard to emulate a device that would
continuously send data, while the seanet devices are strictly
polling-based. This commit removes the emulation of a streaming
layer, which removes quite a lot of complexity in the driver.

The two main non-backward-compatible changes are:
 - requestData() must be called by the library's user in order to get a scan
 - writeHeadCommand() does not automagically handles whether you are scanning or
   not. It is the caller's duty to make sure there's no scan pending before
   calling it.

Among other things, it makes the meaning of timeouts a lot cleaner, as otherwise
the timeouts would be sometimes aggregate of multiple operations that were done
being the scenes.

For instance, as its names implies, readPacket should really only read the data.
It currently also triggers the next SendData if it receives a HeadData, which
(1) assumes that it is what the user wants, (2) makes the method's logic really
complicated and (3) fucks up the timeout (as you might receive the data in the
specified timeout, but fail to send the next command)