Fix #370, fix session saving from the control panel

Use the isSavable() of session manager to determine whether a notebook
is savable. And if so, beaker will just save it with the 'overwrite'
flag turned on.
Please note that with this change, for the sessions that are not
savable (read-only or new notebook), we still don't have the nice
state machine from spec of #247 yet. #415 was logged for
implementing that.