Adjust signature lookahead to include operators

The lookahead on signatures only tested for identifiers, which prevented
operators from appearing in types. Now the lookahead will test for
either an identifier or an operator. The branching for parsing various
types of signatures has also been tidied up, and a test for an
assignment method has been added.
Standardise method creation names in runtime

The methods 'newMethod' and 'newClass' did not match with the standard
for names set by the rest of the methods in the runtime. They have been
renamed to 'method' and 'constructor'.
Allow inheritance of booleans

The methods that return true and false now have companion inheritance
methods that allow objects to inherit from them.
Add at() and size methods to string

There was no way to retrieve characters or the size of a string without
using the primitive interface. The at() and size methods almost brings
strings in line with the list type sans doForEach(), but this will soon
be moved into the prelude. A hidden bug where a block was returning
undefined instead of done in the list implementation has also been
resolved.