Modified Asynch JS Testing to Handle Lib Failure

done() now gets called when libraries fail, to help speed up testing.
CPS'ing Blocks With Arrays, Runtime BugFixes

Blocks will now be cps'd using arrays to avoid stack overflwos from the
JS parser. The continuations passed will reference the next location in
the array to execute, as well of the array of statements.

The last element in the array will be evaluated, then its value will
be passed to the continuation given to runBlock. See runBlock(..) and
its associated functions.

This now allows the mooring tests to be parsed and run in the browser.
Not all mooring tests pass, and this commit contains some bug fixes to
the runtime in helping them pass.
These include:
   -Involikng the .get() method on placeholders when the field is
   obtained using a bracket expression.
   -Properly passing the values to K of torepr calls on non-objects
   -Changing prints for placeholder to 'cyclic-field'

Still to be done is the refactoring of torepr and equiv, both of which
are causing test failures in moorings
CPS Implementations of toRepr and Equiv - Objects

toRepr and equiv now properly create continuations when in need of
recursively calling themselves on the fields of an object.
CPS Bug Fixing #1 - equiv and getRepr

Fixed some bugs with improperly called functions in equiv and get all
same

Added the getRepr function to be used with testPrint and getTestPrint
output so toReprK is properly given continuations
Merge branch 'nwo' of https://github.com/brownplt/pyret-lang into nwo

Merging with joe's server work and jte's cps work