----------------
- Frame improvements: add ``pack_len()`` method and simplify
``str(BackwardFrame())`` output
- Add ``Response.raw_value`` attribute to ``Response`` objects to give
access to the underlying ``BackwardFrame`` of the response (or
``None`` if no response was received)
- Add ``NumericResponse`` and ``NumericResponseMask`` classes and make
use of them where appropriate
- Rename some ``Command`` class attributes, removing the initial ``_``
to indicate that they are public. The API now supports
``Command.response``, ``Command.devicetype``,
``Command.uses_dtr{0,1,2}``, ``Command.inputdev`` and
``Command.appctrl`` attributes.
- Add support for "sequences" of commands that implement higher-level
operations. Initial sequences include commisioning of control gear
(discovering bus units and assigning short addresses), reading the
list of device types, querying and setting group membership.
- Remove the obsolete ``dali.bus`` module; all of the useful code from
it is now implemented as sequences
- 4–5× performance improvement of the ``command.from_frame()``
function
- Remove support for Python 2
- Some driver additions and changes [sde1000, hasseb, mhemeryck]