Fixed the definition of "source_file", "source_name", and "source_line".

The previous implementation grabbed the values of the global variables in the
parse.c module, which is really shoddy when you think about it because those
variables are reset whenever you call parse again, and the whole thing was just
a non-starter.

Getting this kind of meta-information into a parsed Fexl source file has to be
done with more sound logic and finesse.  In this version, I had to add a helper
routine "standard_name" in resolve.c to handle the top level resolution.  The
result is not quite as pretty as I would like, and it required making some of
the parser variables non-static.

However, it works in a very solid way, as demonstrated in test/a1.fxl, which
now meta-parses the test functions which appear below line 60, running them
inside a custom environment.  This is especially impressive because one of the
test functions, "test_parse", itself does meta-parsing on the program starting
on line 480.

All of this is a precursor to a very robust implementation of modules, with the
definition of a "use" function that you can use something like this:

	use "stuff" \\
	# ... and then a program using symbols defined in the "stuff" context.