New:
* Add sink to allow cloud-to-device messages
* Add API to stop the streaming
* Extend API to allow streaming a subset of partitions
* Add support for Scala 2.12
* Add device filter
* Add Message ID and Content Type to message
Improvements:
* Improve performance, reduce the number of threads used
* Add more demos
* Upgrade internal dependencies
Breaking changes:
* Change configuration schema
* Change message model schema
* Change environment variables names in the reference configuration
* Add checkpointing feature, saving the current position of the streams, and automatically restart from the previous psition. The position can be saved either in Azure blobs or Cassandra.
* Support filtering the stream by message type (aka "model"), so that a device can send different kind of telemetry.
* Keep alive streams in absence of traffic
* Add device simulator app to simulate temperature and humidity sensors
* Add support for Scala 2.12.0-RC1
* Overall refactoring to reduce the amount of code on the client side
* Retry logic on storage operations
* Add Travis CI config
* Improve documentation
* Remove dependency on scala-arm
* Start move to json4s
* Change code style to 100 columns
* Add script to run the sample demos
* API changes, split IoTHub in two classes