Merge pull request #70 from torhve/master

Chat time style
Maintained cached flatnicklist, maintain shownicklist cached value for
template
support extended colors in nicklist
Merge pull request #72 from torhve/nicklist

Nicklist
Fail all callbacks disconnection / error

Callback promises are resolved when their answer is received
If the websocket disconnects or fails before receives its answer,
it's promise is rejected.
Wrong password test with failure callback
Split creating the defer and returning the promise
Implement doSendAllWithCallback

doSendAllWithCallback sends all the messages of the list
and returns a promise that is resolved when all the individual
promises are resolved.

Useful for avoiding long chains of .then().then().then() ..
Send all init commands in batch
doSend always doSendWithCallback

The goal of this change is to provide only one way of sending
messages. By default, a callback will always be returned, and
the caller will decide if it needs to use it.
Rename doSendWithCallback to send
Rename doSendAllWithCallback to sendAll
Remove doSend

Replace calls to doSend with calls to send
Group all messaging commands
Document messager methods
Fix: don't use ng to ensure proper nick completion

This is an ugly, non-ng temp fix to ensure that the DOM node value of
the command input is sent instead of the command model. When completing
a nick, there's a sequence to respect in order to update the value and
the caret position afterwards. If we update the model in there, it's
applied by ng after having updated the caret position and, since it
overwrites the DOM input value, puts the caret position at the end.