Issue #33

Make open('filename') without the second parameter work.

There is no unit test because I don't know how to set it up.  The way I
test this in a browser is without this change, the following code:

h = open("mbox-short.txt")
print len(h.read())

Throws "todo; haven't implemented non-read opens"

With this fix the code works.
Add support for the round() function

Issue: 34 in on github
Issue: 116 on Google code.

Note: For some reason this does not pass the parser test.  None of the
unit tests I develop ever pass the parser test it might be my
local dev envionment.  But the unit test is solid and tests the functionality
nicely.
Make startswith and endswith work - Issue #35

This is Issue 119 in Google Code
Make raw_input work - Issue #37

This is Issue: 74 in Google Code

I added a completely new raw_input function even though it does
exactly the same as input() - but since input() is not a good
implementation, someone someday might come by and fix input()
and I don't want them breaking raw_input()

There is no unit test because prompt is not mocked.
Make quit() and exit() work Issue #36

This is Issue 115 in the Google Code repo

I did this as a language change making quit() and exit() flow
statements.

I added a unit test which nicely tests functionality and passes
but the parser and symbol table unit tests are unhappy.   Either
this is a problem in my version of Python or I missed some detail
on a step I needed to take other than regentests after adding a
new unit test.  Thanks in advance for any help/explanation here.
Make try / except work

Issue: #38 on Github
Issue: 109 and 114 on Google Code

I did this by not generating a JavaScript try block, but instead
added a try/catch around the whole run-time switch loop.

Each Python try/except already did a push/pop of the except block
on the $exc stack. So if the outer JS try/catch is triggered,
it checks the exception block stack and jumps to the exception
block.  If there is no active exception, it means some other
runtime error has occurred so the JS rethrows the exception
so it is exposed to the user in the browser.

This approach makes it far easier to implement the full
try/except/else/finally as any nesting issues are no longer
a problem - I did not implement that in this fix - but note
that it is now easier if someone wants to do it.

I am sure this code could be improved by someone more intimate
with the runtime.

*** This change may need to be adjusted for all the other instances of
switchCode and suffixCode in src/compile.js

Not knowing how to test those other cases I left them alone.
At least the changes to setupExcept and endExcept will insure
that the generated JS will be syntactically correct.  The worst
that will happen is that when code in a try block blows up, we
will not know to run the except block.  The other problem is that we
might catch something that is really an internal error - it might be
nice to add code in the above catch block that looked at
the kind of exception and only popped the stack for exceptions
that are from the original code rather than artifacts of some
code generation or execution environment error.  We at least
err on the side of exceptions being revealed to the user.

I added comments to these effects in the code - you may want to
remove those when you do the pull / merge of the changes.  I
just wanted to leave a really clear trail.
Make Try/except Work

Issue: #38 on Github
Issue: 109 and 114 on Google Code

This commits the actual code changes :)
disable symtab and trans tests for quit/exit