--------------------------
New features:
* Implements reading and writing multiple bits simultaneously.
* Support more byteorders (endianness) for floats and long integers.
Breaking changes:
* Renamed method arguments 'numberOfDecimals', 'numberOfRegisters' to
'number_of_decimals', 'number_of_registers'
* Removed example drivers for Eurotherm 3500 and Omegacn 7500, as I no longer have
access to these instruments for testing. It would great if someone would pick
up support for these instruments in a separate project.
* Requires pyserial 3.0 or later.
* Removed module level constants for default values, as they were confusingly named.
Other fixes:
* Allow slave addresses also in the reserved range (up to 255). Reported by GitHub user gnbl.
* Serial port read and write buffers are cleared before each request to the instrument.
Pull request from GitHub user mrrs6.
* Check whether the serial port is open before trying to open it. Reported by Matthias Bolte.
* Custom exceptions for Modbus errors, by Russ Garrett.
* Silent period between messages is at least 1.75 ms to fulfill Modbus standard. Reported
by GitHub user draput.
* Use time.monotonic if available. Suggested by Matthias Bolte.
* Implemented write timeout, to avoid hanging when writing. Instead it will raise an exception.
Reported by Austin Stover.
* Better checking of number of registers when reading and writing.
* Rename internal methods and variables to be PEP8 compliant.
* Improved documentation.