Add basic tab cycling with keyboard
Fix ChatService File
Merge pull request #549 from phillip-haydon/Fix-ChatService

Fix ChatService File formatting
Moved to collapsable contenct section

Also ensures that it scrolls to the bottom after the callback
Fix to up/down arrow keys in multiline messages

Previously we prevented the default event to stop the cursor from moving when we
cycle through messages, but that unintendedly prevents us from scrolling around
after pasting in a multi-line message. We can return whether a cycle took place
to know whether we should stop the key from moving the cursor.
Merge pull request #547 from dpatti/tab-switcher

Add basic tab cycling with keyboard
Merge pull request #550 from dpatti/message-history

Fix to up/down arrow keys in multiline messages
Fixed chat service line endings
Merge remote-tracking branch 'upstream/master' into who-gravatar-template
Add better dateline breaks when scrolling

* A date will always be listed at the top of the scrollback even if the messages
  are on the same day.
* When scrolling back further, that top date break will be removed if the two
  messages it falls between are not actually on different dates.
Fix to date lines showing up while chat is open

Date lines are only added for chat messages, so if you have a chat message at 11
PM and then a chat message at 1 AM, it would add a message to mark the date
change. However, if you have some other message, say someone joining the channel
at 12:30 AM, not only will a date line not be added, but when the chat message
at 1 AM comes in, it thinks the last message was at 12:30 AM and not 11 PM.
Fix to removing non-date headers with timestamps

Most everything that gets posted to chat has a timestamp data attribute. We'll
need to add a class to uniquely identify a list-header as being a date header.
Additionally, the header's timestamp attribute does not actually hold the date
that it represents. Instead we just parse the contents as a date object.
Clean up some user transitions in message history

* Messages after a date header should always show the user name and avatar
* When chat scrollback is prepended, if two messages from the same user are
  joined at the border, remove the details from the latter so it flows better.
Swap out double quotes for single
Merge pull request #551 from nschonni/who-gravatar-template

Who gravatar template with collapsable content
Merge pull request #545 from dpatti/dateline

Improvements to date headers in chat
Add click-to-message for users in chat and on list
Merge pull request #546 from dpatti/click-name

Add click-to-message for users in chat and on list
added favicon, 32, and 64 icons to page head
Fix to user names after non-messages

Before, a change was made that made timestamps show up correctly when non-chat
messages were entered before the chat was. As an unintended side-effect, the
user names were not being displayed after a non-chat message if that user spoke
before it, which made for some odd dialog.

To be more structured, all message appending was separated to a single function
regardless of message. There it is checked to see whether a new date header is
necessary or not. Now we have accurate date headers and user names appearing
when they should be.

Note that while no prepending code was touched, as it is not affected, it might
be something to refactor later.