Separate message build logic

Presently, it is impossible to reuse the Message classes for our own server api implementation. So I have taken out the building logic and created builder classes to populate them instead. With this change, the Message classes are more DRY and the projects share the same Message classes (or almost) so less duplication here and there.

The only thing that i could not do is the WindowsStore and WinRT version of the code since that i don't have Windows 8.1.