add project channel subscription and refactored websocket related stuff
initial implementation of saving chat message
add more fields to Message model and update saving of message
add initial implementatioin of fetching chat messages
add Project.GetRecentMessages method