Fixed issue #556: nonopening blocks drawers in Safari on MacOSX.

The problem was my (= Lyn's) failure to appropriately abstract over
the code for getting the children of an HTML DOM element. For this purpose,
do *not* use <element>.children or <element>.childNodes; instead use
goog.dom.getChildren(<element>).

Change-Id: I18205cce71fdd1143d10afb97382b1dd305f6c4c
Cache fetching of the User Object.

Every transaction requires the User object, which never changes once
the terms of service are accepted. So we cache it iff terms of service
are accepted. We hold it in memcache for 60 seconds. This removes one
datastore “get” operation per transaction.

More to come...

Change-Id: Ifd11ad6af9cef5f2e67949c0b5aa66e62e6579e4
Change Blocks Editor Autosave Interval to 5 seconds.

The previous value of 500ms was way over aggressive resulting in a lot
of network/datastore traffic. Note: If a user closes their browser
while unsaved changes are pending, the WindowClosing handler in
Ode.java will save the changes. I have verified that this mechanism
does in fact work.

Change-Id: Ib693fc1c5bc3ac4dd0b2ab9b323dba09bd962539
fix for dropdown check selection in variables

Change-Id: If36dbbb8020751b2cc2cb91cc128939cbb2fe5c4
adds a key handler to delete components when selected in Designer

Change-Id: Ie567c46bf46e5f726890dbe702e7c2ea73900e25
Fix typeblocking and mutators.

This code fixes the problem that type blocking didn't work for blocks
with mutators and it adds a type block for 'create empty list'.

Change-Id: Icf33cd06ea5e4616808cff6da6d8c9c631138dd4
edits to make the change from File to Project in the top toolbar consistent

Change-Id: I80535a871d4c3d2f13a8b4c898654511bffe1424
moves admin menu to top bar to make access to debugging panel easier

Change-Id: I89dc5f9bf17acc5ef98cbe37d492a79265766cac