Fix handling of script name for run_string
Add function_name annotation to c_primop for function case

This is what is needed to get the erlang compiler to generate a
function_clause error, even if we specifically write function_clause
error. Go figure.