Refactor read multiple registers

Problems with the previous code:

*  No documentation
*  Input and output parameters mixed together
*  Bits of dead code commented out
*  Useless delay
*  Global counters increment as side effect of formats
*  Status message created in different places and then often discarded
Fix documentation mistake
unit test write_one() thread safety

I have moved the write_one() code and removed some dead code so that it
can be conveniently unit tested, but otherwise I have not refactored (
yet! )

This is to help the discussion of ticket #40
Merge pull request #41 from JamesBremner/refactor_read_multi

Refactor read multi