Added new a new error type and argument decorator

Error is for argument count (used by the decorator).
Decorator checks for number of arguments as well as type
of arguments. It can take a type, array of types, or
a function to compare instanceof with.