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.
Ensure that when forcing a task fails it cascades

Because the call to 'now' does not pass a direct deferral error to the
given handler, the reject function in the task module was not handling
deferral errors and the resulting tasks never completed.

Some calls to now and a missing value in resolve have been patched too.