Generate a more useful error message for use-before-def errors. [on behalf of Darren Smith]

For a program like:

f();
var x=0;

proc f() {
writeln(x);
}

An internal compiler error is currently generated even though this type of error is semi
common by users.  This patch causes the compiler to generate a more useful error
message.

The case where the type of the actual argument is generic is left as an internal
error.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21904 3a8e244f-b0f2-452b-bcba-4c88e055c3ca