Allow type checking via syntax of function arguments.

function meta::name(arg1:type1, arg2, arg3:type3)

translated to

function meta:name(arg1, arg2, arg3) expects(meta, "type1", nil, "type3")

Use 2 :'s for metatable checking, and arg:type for argument type checking.