New Features
------------
* Add `add_bqm` method to C++ BinaryQuadraticModel https://github.com/dwavesystems/dimod/pull/821, https://github.com/dwavesystems/dimod/pull/823
* Add `Structured.valid_bqm_graph` method for verifying input problem structure https://github.com/dwavesystems/dimod/pull/832
* Reimplement `BinaryQuadraticModel` to use new C++ code https://github.com/dwavesystems/dimod/pull/828
* `BinaryQuadraticModel` can now be manipulated symbolically https://github.com/dwavesystems/dimod/pull/834
* `load` function can now load all model types https://github.com/dwavesystems/dimod/pull/841, https://github.com/dwavesystems/dimod/pull/843
* `DiscreteQuadraticModel` now has an `.offset` attribute https://github.com/dwavesystems/dimod/pull/838
* Add `ConstrainedQuadraticModel` class https://github.com/dwavesystems/dimod/pull/839
* Add `make_header`, `read_header` and `write_header` utility functions https://github.com/dwavesystems/dimod/pull/842
* Add `ExactDQMSampler` https://github.com/dwavesystems/dimod/pull/820
Fix
---
* Fix type promotions in binary quadratic models with object biases https://github.com/dwavesystems/dimod/pull/836