* validate utf8 at the message level
* move utf-8 validation to message
* rename `recv` to `recvMsg`
* add partial frame validation tests
* use `recvMsg` instead of `recv`
* add support for DNS resolution
- reworked API to be more consistent
- string addresses and Uri types will be now resolved
- made the API more consistent
* log failed connection attempt
* agent string can't contain spaces
* add websock topic (#83)
* style
Co-authored-by: Tanguy Cizain <tanguycizain@gmail.com>