correctly msg_init'ing msgs
refactor creating the ptr and tagging it into helper procedure and using
it place of all the calls to malloc and set-cpointer-tag!
documentation has links
added unit tests to new message creation procedures