FUNCTION and CLOSURE revamp, take 2 (#1973 and #2002)

This is just pull #109 updated, to allow for easier merging. No change over pull #109 as regards content. For convenience, here's the original message of pull #109:

> The function builder name cleanups as requested in http://issue.cc/r3/1973 and http://issue.cc/r3/2002 make the locals-gathering feature of FUNCT more thoroughly integrated into the language, at least as far as its users are concerned. This will give us the advantages of FUNCT without the limits or the readability issue, and make the name FUNCT optional when we start cleaning down a bit.