Changes type hinting syntax

Argument type hinting and return type hinting were previously declared
using a method which wrapped the function in question in an array which
also contained information regarding types. This is now achieved by
entering the details within the key part of the object - the method
name part. Eg:

'public boolean function : number string': function(a, b){ ... }

This would declare a method which requires a number and string and is
guaranteed to return a boolean.