Added workaround to make ExtendedSession work

Lift currently calls earlyInStateful twice when creating a session as
it serves a page. This happens when the server has been restarted, or a
new browser is used, or the session cookie is lost, etc. This
previously broke the ExtendedSession login handling, since the first
call to earlyInStateful handled logging in, but Lift lost the cookies
it produced. We now use an additional SessionVar to detect the first
earlyInStateful call and ignore it, as suggested by Antonio Salazar
Cardozo :)

ExtendedSessions now work fine, the S.notice and logger calls have been
removed.
Fixed default template, added prototype angular integration

default.html had self-closed lift:bind tags, these end up removing
elements after them when used, now fixed.
Added AngularJS, and started working on a prototype of an AJAX+Comet
integration between an angular model and a boxes model. This is
currently rather rough, but demonstrates updating of the angular model
via Comet, using new AjaxViews AjaxDataSourceView and
AjaxListDataSourceView, and ajax calls back to modify the model using
SHtml.ajaxCall. This could be extended into a more general system with
less boilerplate, but for the moment shows it is possible to fairly
easily display a JSON list using angular, with ajax functions used to
call back to remove elements when angular-generated delete buttons are
clicked. In future the ajax calls could carry data, and be used to
perform arbitrary editing. Hopefully it should be possible to provide
for full two-way synchronisation using this approach.