Replace lua_call() with lua_pcall()

Error in lua codes invoked by lua_call() will crash the program.
Replace the lua_call() with (protected) lua_pcall().

1. Added ErrorHandler() which reports error-message and lua callstack to
   _print function.
2. Added SetErrorHandler() which installs ErrorHandler before lua_pcall.
3. Replaced occurrence of lua_call (or implied lua_pcall in lua_dofile)
   lua_pcall.
Testcases for syntax/semantic errors