escape: Implement the discovery phase.
escape: Implement the discovery phase.

Implements the discovery phase according the SCC algorithm used in
gc/esc.go.  Traverse all functions to find components that are either
trivial or recursive.  The discovered function groups will be analyzed
from the bottom-up to allow for an inter-procedural analysis.

Change-Id: I56d6399ffba3ad2e0fe518d52e30b272ed45afca
Reviewed-on: https://go-review.googlesource.com/18221
Reviewed-by: David Chase <ae171625adc8645b8b79b7e405a6da5aba5341e0@google.com>
Reviewed-by: Ian Lance Taylor <87e9c6d529889242b7e184afb632328636553ab4@golang.org>

golang/gofrontend,golang/gofrontend,golang/gofrontend,golang/gofrontend