Load the blocks file after the .scm file is loaded

Change-Id: Ic4effb8a76ba6d5db013a54d68ae16131c346735
Changed connect menuitems names to AI Companion, Emulator and USB
Changed Gallary link to show up only when logged in as admin.

Change-Id: Ibc7210806ffdb6397140fe0a9f5410e1ce67a952
Name restrictions on local, global, and procedure names.

* Changed local, global, and procedure parameters to check that
  all satisfy the following regular grammar:

     <identifier> = <first><rest>*
     <first> = letter U charactersIn("_!$%&?^*~/+-.@>=<")
     <rest> = <first> U digit

  This is a simplified version of Kawa's identifiers. I don't see why we
  care about Java's identifiers, since only Kawa's are being used for
  global/local/procedure namespaces in runtime.scm.

  This grammar cheats a little -- any of the special characters in
  "+-.@" aren't allowed to start an identifier but can be anywhere
  else in the identifier. So the strategy is to add a legal prefix to
  any AI2 name to make it a legal Kawa name.

* Before doing the above check, user identifiers are first transformed
  by removing leading and trailing spaces and replacing nonempty sequences
  of internal spaces by an underscore ('_').

* Illegal identifiers are replaced by an identifiers of the form name<num>,
  where <num> is an integer > 2 or empty. One exception: the empty string
  is replaced by '_'.

* Modified the code generator to check for legality as desribed above.
  The following prefix tags are currently used (but can easily be changed):
  + local variables: $ (e.g. "sum" => "$sum")
  + global variables: g$ (e.g., "count" => "g$count")
  + procedure names: p$ (e.g., "factorial" => "p$factorial")

Change-Id: I3b5de2c3a7569a50c027cf062029d97542452aad
Name legality bug fix and restriction; fix to horizontal -> vertical params in proc decls

Patch Set 2 Notes:
==================
* Fix bug that allowed two procedures to have the same name. Now they are renamed
  with a numeric suffix.

Patch Set 1 Notes:
==================

* Fixed bug in which procedure names were not being checked for legality.

* Made legal variable/procedure identifiers more restrictive:
     <identifier> = <first><rest>*
     <first> = letter U charsIn("_$?~@")
     <rest> = <first> U digit

  Note: an earlier verison also allowed characters in "!&%.^/+-*>=<",
  but we decided to remove these because (1) they may be used for arithmetic,
  logic, and selection infix operators in a future AI text language, and we don't want
  things like a+b, !c, d.e to be ambiguous between variables and other expressions.
  (2) using chars in "><&" causes HTML problems with getters/setters in flydown menu.

* Fixed bug in which changing parameter orientation from horizontal to vertical
  in a procedure declaration didn't render the body slot properly.

Change-Id: I6eb9c5577c3bec1710980b133a4259705f322878
Fix BlocklyEvalTest.

Fix BlocklyEvalTest. Add a new project test (factorial). Note: only
two of twelve projects test successfully, but we believe that is
related to other code.

Change-Id: I908b23ef7d907a3d83826509e4f08cfbe1771017
initial fix of translation bugs, better on locals, fixes undefined prop, some lyn translations

Change-Id: I5d743896109e56a5d2d9254657a6240b5de5bdfe
Fixed my bug in generating code for procedure declarations with zero args.

Change-Id: I3c191e40ebe99fc2f2dae7ee67bb7adbf25d76e1
Fix blockly unit tests.

Upgrade expected Yail for unit tests where the yail generation
changed.

Change-Id: Ibe0c782d9dd2d1ae86408d85eebde71b11449316
A fix to translator code for component set-get and some commenting.

Change-Id: Ie893ba363475e2823bc71e2111235b8f86313b9e
Fixed 'narrow canvas' issue so that width and height set correctly and fixed comment typo
and fixed a fairly obscure issue with generic set-get in translator

Change-Id: I73c6cf7dd03a5362e058f3a9b1013179e6b763ba
Firefox will no longer miss first character for typeblocking.

Change-Id: I10f71843a6687c187bf8eeb049292fa9b3fa2358
Revises Texting component so it works with standard loops (issue #478)

Sending message in a loop should work both in the packaged app and
in the REPL.

If GV is enabled when an app starts, Oauth authentication is performed
on start up and subsequent attempts to send messages proceed without
additional authentication.

If GV is disabled, messages are sent through built-in Sms.

If GV is enabled but the authToken is null, messages are queued while
authentication is performed.

NOTE: To test the receiving-in-background feature of the Texting component,
you must package the app.

Change-Id: I535c2da3063468d13f6c82a1eba1d551d797532c
Update Companion Version to 2.07nb8.

Update replmgr.js to accept this new version.

Change-Id: Ie15be44a1eb308a4c9f812b86cf6ce4eeecb1c90
This version fixes the generic naming issue by warning user and attempting
to translate the blocks.

Change-Id: Icd4cdb9f64adb16ad373dc7baa20ce64085e6017
Correct handling of New Project dialog box.

Fixed the bug where if the user enters a bad project name and presses
Enter, goes into infinite loop of alerts.

Change-Id: I78e86dcc7ad987715324606d386891d4d358db23
Fix multi-part SMS messaging.

Change-Id: I7c2dd227e512bbd9f60ac22f8c1e59b8f2894457
Procedure Blocks typeblocking fixed to show proper set of inputs when a new Procedure is created

Change-Id: I2e3c369f83e1313239efbb847f38fa08e60f69ee
player correctly implements onPause, onStop, and onResume

Change-Id: Ie7674090d3421badfa56f703f7a8c3430b3de25e
changes regular expression to allow 0 in typeblocks

Change-Id: Ia34361d03d788149c60b630779362f0721f64c51
Fix Overlap of elements in Horizontal Arrangement.

Change-Id: I7d3cf0f35ed941fc8650ce9724db1cf06d6818e3