WIP fix inconsistency in types of IDs

`message.id` (`string`) defined in `protocol/message.lua` is inconsistent with `AgentProtocolClient._msgid` (`int`) defined in `protocol/connection.lua`.
This results in different types of messages sent from agents to
endpoint, which is probably not a big problem in weakly typed languages
but will cause problems in typed languages like Go. This commit changes
`message.id` from `string` to `int` in `protocol/message.lua`, which looks more reasonable to me given the
context if IDs, but there are other places where string is used for IDs,
e.g., `check/base.lua`, line 53, `tostring()` is explictly used to produce
a string for `self.id`. What is desired type for IDs?