BaseView to check and inject required dependencies
refactored BaseView dependency mngmt system, cleaned code
Document the server class.

It can be confusing, since it's named "Server" and it is actually a Client.
Server#connect don't need the nickname anymore.
Reconnect on network error.

Try to reconnect every second for ten seconds and then one minute after that.
The testing is done by bypassing the setTimeout and checking the number of
times we try to reconnect.
Don't reconnect the server by default in the tests
sync with master
sync with master
Implement the SPAChannel class.
Add timeout support for the notifications.

Make notifications go away once their timeout attribute is expired.
sync with master
WIP
Merge with master
Make webrtc model always handle the creation of the data channel and notify interested listeners when a transport is created
Use the SPA model in the chat app, and enable the data channel in webrtc based on if spachannel is in the capabilities or not
DataChannel: queue messages when not ready yet
sync with master
Merge branch 'master' into spa-channel
removed DependecyError, use generic TypeError instead
moved BaseView dependency logic to app.utils.Dependencies