New Procedure Interface

It's actually pretty glorious. Simplified a lot of things.

What's new:
* `procedure.go` now holds the Proc and GoProc implementation details as well as the Procedure interface
* `builtin.go` now holds a map relating names to go functions
* `builtin.go` now holds the mapping table for alternate names
* `crunch-crunch-crunch` works on both kinds of functions again
* functions written in go learned what name they bound under, and display it when converted to string form like the ones written in proftalk