A few minor fixes
Add message type to KernelMessage and fixed serialization
Added more to the basic MPI functionality, also

added message types. I am still not sure if the
serialization and deserialization is going to
work correctly or exactly how to determine the
type of message that being received so next I
will create some test cases.