Update package information with correct license

The previous package.json file had the wrong license information in it.
The other fields have also been rearranged into more sensible groups.
Adjust assignment uglify, add missing argument

Uglifying an assignment would produce 'name_:='. The underscore is now
no longer present. The missing node argument when calling 'put' when
scoping variables has been added.
Add method getter and arguments helper to apply

Specialised uses of apply had to reference the receiver of the method
and then separately retrieve the method from the receiver. If the method
took no arguments, apply still had to take a nested array. Now apply
optionally accepts a string instead of a method, in which case it
retrieves the method with that name from the receiver, and the arguments
default to empty.