Add ability to interrupt the runtime

This fixes #12, #35
Add note about setTimeout/setInterval

This involves #53
Provide early warning of missing functionality (set:/get:)

This is a bandaid for #56
Call getter/setter if property is AccessorDescriptor

This fixes #36
This fixes #56
Fix a few aspects of accessor properties
If set === undefined => writable = false
Preserve existing get/set unless explicitly undefined
Fix assumption that property.value is Value
Fix for get/set: undefined is actually a getter/setter
Can set a setter/getter if absent (8.12.9 / 10.a.ii.1)
Clarify AccessorDescriptor logic in DefineOwnProperty even more
Guard against _nilGetSetObject sneaking in
Fix Put to see set/get properties
terst
Make sure to set the Otto/runtime dependency when copying

This is a problem in #57
More tests for .Copy()

This fixes #57
Fix Date.prototype.setTime

This fixes #58
Fix "memory leak" by gelcapping panic values with _exception

Basically, the Go runtime sees the gelcap shell of the exception,
which dissolves (payload is set to nil) once we catch the error.

This prevents the Go runtime from hanging onto a heavy object for the
panic log (or whatever it is doing with the panic value).

This fixes #59
newnewNode => newNewNode
Fix Array.prototype.reduce, .reduceRight

Fix false-positives in underscore testing
Fix test (missing document because we're not in a browser)