Don't break in unlabeled blocks; balance switch scope

Fixes a couple of bugs that prevented the test262 test harness from
running.
- An unlabeled break was able to break to an unlabeled block. This
  messed up breaks in most loops, since most loops have a block
  statement.
- The switch statement included a call to pushScope that wasn't
  matched by a call to popScope.
Merge pull request #27 from richdougherty/block

Don't break in unlabeled blocks; balance switch scope