Thanks to epenet for all this work!
Merge:
* 32 Log API responses
* 33 Add basic tests and a simple CI
* 34 Fix app_list() exception
* 35 Format code using black
* 36 Split out connection code
* 37 Add async connection
* 38 Add isort to CI
* 39 Add pyupgrade to CI
* 40 Make endpoint compulsory on the Connection
* 41 Move REST functionnality to separate class
* 42 Introduce a new SamsungTVCommand class
* 43 Add yamllint to CI
* 44 Make art inherit from SamsungTVWSConnection
* 45 Add missing constructor arguments to rest api
* 46 Add SamsungTVAsyncRest
* 47 Drop open method on remote
* 48 Handle ClientConnectionError in async_rest
* 49 Add ChannelEmitCommand commands
* 50 Add open timeout to AsyncConnection