spec: terminating statements for functions

The only functional change is the new section
on terminating statements.

There is a minor syntax rewrite (not change)
of function declarations to make it easier to
refer to the notion of a function from all places
where it is used (function decls, method decls,
and function literals).

Includes some minor fixes/additions of missing links.

Based closely on Russ' proposal.

Fixes issue 65.

R=rsc, r, iant, ken, bradfitz
CC=golang-dev
https://codereview.appspot.com/7415050
cmd/gc: implement new return requirements

Fixes issue 65.

R=ken2
CC=golang-dev
https://codereview.appspot.com/7441049