Test that arguments are the correct type.

  This closes #182.
  Updated to compile.
  Added `on_error` callback.

  When a syntax error, or other lua error, is encountered we
 invoke the function `on_error` if it is defined.

  This closes #183.

  Documentation:

    http://lumail.org/lua/on_error.html