function.js now reports all of the functions which error

When extending, overriding, or adding behaviour
for before or after; function.js now reports all of
the functions which fail to correctly overload.
added assertUnreachable to assert.js
added requires method to function.js
bugfix for 'calllater'

CallLater was referencing 'this'
instead of 'self', i.e. the wrong this.
prettier removal, and array.js

* array.js, which brings new map, and inject.
* removal of nodes is now animated, and so prettier