New Features
- Added the `header` field to all `OBDCommand` objects, allowing the user set custom headers on their queires.
- Added voltage check enabled by default, to handle cases where the vehicle is not powered.
- Added lower-power-mode support
- Added new `check_voltage` and `start_low_power` options to the `OBD` constructor.
- Added `__repr__` implementation for `OBDCommand`s, containing more information than the normal `__str__` function.
- `Async` connections now support an optional `force` parameter, like the main `OBD` API.
- Added `delay_cmds` argument to the `Async` connection, used for rate-limiting updates.
Bugfixes
- Handle voltage responses that include a `'v'` unit
- Handle "UNABLE TO CONNECT" responses explicitely, rather than blindly continuing
New/Breaking Changes
- `Async` connections will no longer throw exceptions when the underlying transport is disconnected. They will instead terminate gracefully. Async status is observable via the `Async.running` parameter.
Internal Changes
- Removed newline from all queries, in favor of a single `\r`
- Renamed `async.py` to `asynchronous.py` to avoid conflict with python's async implementation
- Better debug logging in various error cases
- Better PEP8 compliance