(new api) Copying Micah's parser algorithm from µpaws.js

Magnus Holm did all the work here, I'm merging his 'parser+'-branch work into a safe-stage for
Master.

Signed-off-by: elliottcable <me@ell.io>
(- tests fix) Adding a regression for constructor-forwarding.

... unfortunately, it doesn't seem to have caught the problem. Meh.
(- meta) Moving `cake test` into a script ... sort of
(- new) Getting started on an internal reporting API

Also, I'm trying to get non-Paws-API code out of `Source/Paws.coffee` (since that's intended from
the very start to be a monolithic file with much of the *actual API* included); so in addition to
`Source/utilities.coffee` (which I'm using for complex JavaScript shims and algorithmic tools), I'm
now providing `Source/additional.coffee`, which is extensions to the `paws` object itself.
(new util) Partially replacing construct() with constructify()

Squashes: fa4ec..5fca3
(- tests re) Re-arranging some tests
(fix ick) Repairing constructify() for CoffeeScript classes

This approach is, just, fuckin' terrible. Documentation in-file. Go read it. And weep.
(- fix util) constructify() wasn't working when called more than once

... that's what comes of taking *unbelievably* fragile approaches to things.
Merge branch 'Master' into constructify
(- fix parse) Make the parser properly handle extra whitespace

Squashes: 58817, a6ecc
(- new parse doc) Add some inline doc for the parsing algo

Squashes: 90603
(new API) [from µpaws] Copy over the basics of Thing

Squashes: 7a9ea..5c6b8, part of d5411
(new API) [from µpaws] Copy over Label, and tests for Thing#find

Squashes: part of d5411
(- fix) Make Thing#at() handle undefined members

Squashes: 76b96
(- fix) Use new paws.debug()-and-friends to silence CoffeeScript-wrapper-warning

Squashes: ac9ac..9af46
(- fix) Make particularizable() work without construct()

Squashes: e56ce
(new util) constructify() now handles inheritance and __super__
Merge branch 'parser' into Master

Conflicts:
	Source/Paws.coffee
Merge branch 'Master' into copy-types

Conflicts:
	Source/Paws.coffee
(re) Use the new constructify() instead of construct()