Add doc/hacking to index
Update comments in mirrors.c for new methods
Add reduce method to built-in lists
Add methods to JS mirrors module to match native
Correct size of mgcollections sets
Add special case for StandardPrelude.new
Allow block information to be persisted to runtime

With this commit, the compiler (and dialects) can annotate a block with
an extra piece of information which will be available at runtime with
the extraRuntimeInformation method on the block. Where this annotation
was not given, this method does not exist.
Fix shadowing in logo_example
Remove old try-else/forceError methods

Proper exception handling has now been implemented according to the
specification, and these can be replaced in code with
catch()case()...()finally and Error.raise.
Remove old matchesBinding code from JS
Fix runtime exception/segfault in method calls
Save JS method parameter counts for use at runtime
Fix creation of MatchResults from blocks in JS

Previously, these were constructed with an empty JavaScript array as
their bindings value rather than a GraceList, causing problems later on.
Launch JS debugger on getting a non-Grace receiver
Remove private fields and default to confidential
Remove "private" field error infrastructure
Clean up treatment of visibility default

Previously, a combination of special cases handled the default
visibility of fields and the overriding pragmas. Now, everything is
assumed to be confidential unless annotated otherwise. The pragmas
create the necessary annotations; no other annotation are created.
Change logo example to use inheritance
Save GCT data in generated JS source
Merge branch 'master' of https://github.com/mwh/minigrace

Conflicts:
	genjs.grace
	gracelib.c
	js/gracelib.js
	mgcollections.grace
	mirrors.c