Downsize message id to uint32_t

In order to make 32 and 64 bit versions of buxton happy, message size must
be treated as a 32 bit unsigned value because we use that value as a
pointer key with our hashmap implementation. Once int keys are supported
in the hashmap implementation we use the ugly macros can be taken out but
there isn't any real need to use a 64bit value for message ids so that
won't need to be updated again.