Fix #486, handle connection status properly when recover from sleep

In this change, when beaker get a disconnect change (from cometd), it
will wait for 5 seconds. If within 5 seconds, there is a connect event,
it will try to ditinguish the connect event coming from a valid
reconnect(same session is still availble) from an invalid connect that
can for example come from server crash or user stopping the server
intentionally. If there is no connect event, again within 5 sec of
the disconnect event, and there is a key press event, as well as timeout
after 5 secs, beaker will treat the situation as server is permanently
gone and stop further reconnect attempt and pops up the dialog for
saving the notebook model as a client file (#353)
fix Issue #503 by changing attributes of button based on status
Do a session backup when a session was created so the server knows about it
text cleanup from corp review
merge from master
fix style of generated buttons in the plugin control planel tabs, make html more consistent for the plugin buttons.
For #486, remove keypress event listener with useCapture=true to match how it was added
Merge pull request #517 from twosigma/spot/text-cleanup

text cleanup from corp review
Reverse the buttons in 'Disconnected' dialog so the behavior of clicking outside maps to 'Not now' instead of 'Save'
Update README.md

add sentence on autotranslation.
use ng-disable to simplify html, use beaker-btn class for the generated plugin controls so they match
Merge pull request #504 from twosigma/alee/fix-486

Fix #486, handle connection status properly when recover from sleep
add tooltips to cell and cell output icon menu items
prevent plugin loading spinner from appearing as clickable menu item
when logging in to public beaker instance, redirect according to what the client things the hostname is, not the server.  this fixes Issue #384
improve default notebook by adding some friendly comments, making the code two lines long so it is easier to click on and add to, removing the JS cell because our users are not really after JS, just add that one to the list of languages below
add back output handle
restore interactivity of the output log handle
call unregister functions to remove handlers etc, remove debug console log
Fix Issue #531, by fixing path to template