`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?
fix the issue that SystemInfoResponse doesn't take ID from request
using string as message.id
Merge pull request #417 from racker/songgao/fix_inconsistency_in_message.id

WIP fix inconsistency in types of IDs