Added tests for source/message.py

This doesn't include any tests for encoding as that isn't
completely implemented yet