refactor(socketProvider):  automatically establish a connection with the server
refactor(notification): extract the notification lib as a controller

Before:
- We use the lib/notification.js to listen the notify event

After:
- We use the Notification controller to listen the notify event. NotificationCtrl should be place on the layout so that it will be listening to notify event on any pages.
refactor(socketProvider): just pass nothing to the io.connect()
chore(changelog): update changelog for v0.3.11
Bump version
Merge branch 'release-0.3.11'