Introduce message renderer

This new class replaces all existing server side message
rendering helpers and is the new global entry point for such
needs. All models with relevant fields now expose an instance
of MessageRenderer for those. MessageRenderer acts as
gateway between the existing processing solutions for markdown,
mentions and tags and provides a very flexible interface for
all output needs. This makes the API to obtain a message
in a certain format clear. As a result of centralizing the
processing a lot of duplication is eliminated. Centralizing
the message processing also makes it clear where to change
its behaviour, add new representations and what options
are already available.
use uuids for guid generation
Add warning to script/server if curl does not support AsyncDNS
Reorder items on settings page and improve wording
Update cukes to be text-independent
Update changelog
Redirect to stream_path if is destkop
Merge pull request #4917 from hpetru/4806-new-status_messages-page

Redirect to stream_path if is destkop
Merge pull request #4883 from MrZYX/uuid

Use uuids for guid generation
Fix search field in the header of the mobile version
Remove mobile footer
Remove span12, main content now expand smoothly and the drawer become correctly displayed even in big resolution
Fix header search bar in safari
Fix scroll in the drawer nav
fix registration test
Merge pull request #4912 from goobertron/settings

Reorder items on settings page and improve wording
Merge pull request #4854 from Flaburgan/fix-mobile-drawer

Fix mobile drawer
SPV: Improve padding and interaction counts
Merge pull request #4885 from jaywink/curl-warning

Add warning to script/server if curl does not support AsyncDNS
Merge pull request #4836 from MrZYX/message_renderer

Introduce message renderer
Merge pull request #4426 from Flaburgan/fix-padding-spv

[Ready to merge] fix padding between panels
fix bug #4832 select language for email content when invite a friend