feat(error): simplify exception hier

Rename `unexpected_server_response` into `error` as the only
class representing the error conditions returned from the server,
and no longer distinguish status codes with the exception types.
feat(msgpack): serialize blocks with bundle type

The class stores block data contiguously, and do serialization
on a fixed length buffer provided by libcurl.

We serialize to msgpack 2.0 spec data.