Convert to using getRecipient in Conversation everywhere, fix impacted tests, fix type in js, add principal to message controller.