Fix SIGSEGV when running: "a"()

`rt_call_function_n_kw` did check for integers but not for strings being called (example: `"a"()`). So uPy tried to get `fun->type` what resulted in a `SIGSEGV`. Added a check so calling a string throws an exception like CPy does.