(- fix client closes:#3) runInNewContext wasn't calling into the DOM API properly.

`Node#insertBefore()` requires a second argument, that being *which element* to insert the element
before in the parent's NodeList. Most browsers were lenient and assumed the second argument to be
`null` if none is passed (which *also* meant we were unintentionally appending the element to the
*end* of the node-list, which is exactly the opposite of what we wanted.)

This mostly affected FireFox, it seems; everybody else was more lenient on requring the second
argument.
(- meta new) Supporting a --browser argument in the Cakefile
(- tests incomplete) Until I can debug this (see #1), I'm skipping them so Testling's results are helpful.
(- re style) Breaking up a test for readability/debugability
(- new tests) Regression test for #4, ensuring the eval-bodies for runInNewContext()
(- re tests docs) Those aren't methods.
(new util) Re-implementing construct()

(Picked: da121dd0f4f9e98c997e63ca43a2f6e6207340d7)