WyIL: Changes to first part for #435.

This change partly completes the updating of the WyIL bytecode to
support multiple requires/ensures clauses.  The purpose of this is to
enable better error reporting for individual ensures clauses.
WyIL: Bug fix for #435.

There was a problem related to the construction of postconditions and
their input variables.
WyIL: working on figuring last few bugs for #435.
WyIL: Attempting to resolve problems for #435.

Specifically, there is some bug which is causing two tests to fail.  The
bug appears to be related to a block which is imported in
RuntimeAssertions representing the precondition of an invocation.  For
some reason, the inputs for this precondition are set wrong, or
something is somehow going wrong.
WyIL: Fixed bug in WyiFileWriter #435.

The WyilFileWriter was not correctly writing out the number of pre- or
post-condition blocks when there was more than one.
WyC: Bug fix for precondition generation #435.

There was a minor bug in the way that preconditions were being
generated.  This was causing issues during verification.
WyC: Bug fix for Postcondition Generation #435

This is a bug which is confirmed to have existed before, but somehow got
through.  I'm not quite sure how!
WyC: Yet another bug fix for #435; related to #436.

This is yet another bug fix related to the incorrect normalisation of
type invariants for inclusion into postconditions.  The problem is
related to the fact that a type invariant has only one input, whereas a
postcondition has at least as many inputs as there are parameters.
WyC: Uncommented tests which now pass.

A number of verification tests now pass as a result of the previous bug
fix.  I have now gone through and uncommented these.  There were about 9
of them, and could be others since I didn't try them all.
WyC: Transcribed documentation for CodeGenerator.

When the OldCodeGenerator replaced CodeGenerator, a lot of useful
documentation was lost in the process.  However, I've now gone through
and manually recovered this documentation so that it's not lost.  In
fact, there's some good stuff there!!  Also, some simple tweaks which
reduced the code in the current CodeGenerator.
Feature Complete for #435.

This feels a bit like a hack really, though it is providing some useful
additional error reporting.  The basic problem is that the system is not
well designed to support error messages with context.
Merge branch 'feature/435-errors'