go/ast Fprint: handle cycles in AST
go/ast Fprint: handle cycles in AST

Augmented ASTs may contain cycles. Keep
track of already printed objects and refer
to them with a line number instead of
printing them again.

R=rsc
CC=golang-dev
http://codereview.appspot.com/1998042

bryanxu/go-zh,Triskite/willstone-goclone,bryanxu/go-zh,rflanagan/reginaldflanagan-project1,webfd/go-zh,glycerine/jeaten-go-arrayof-structof,webfd/go-zh,bryanxu/go-zh,rdp/rogerpack2005-golang,rflanagan/reginaldflanagan-project1,glycerine/jeaten-go-arrayof-structof,d0f/go-zh,rdp/rogerpack2005-golang,mhennings/marcohennings-go,sanjosh/sanjos100-tipc,sanjosh/sanjos100-tipc,Triskite/willstone-goclone,mhennings/marcohennings-go,sanjosh/sanjos100-tipc,Triskite/willstone-goclone,webfd/go-zh,glycerine/jeaten-go-arrayof-structof,npe9/noahevans-go9,rflanagan/reginaldflanagan-project1,npe9/noahevans-go9,mhennings/marcohennings-go,rdp/rogerpack2005-golang,mhennings/marcohennings-go,sanjosh/sanjos100-tipc,Triskite/willstone-goclone,bryanxu/go-zh,rflanagan/reginaldflanagan-project1,scirelli/scirelli-go,glycerine/jeaten-go-arrayof-structof,bryanxu/go-zh,d0f/go-zh,d0f/go-zh,d0f/go-zh,webfd/go-zh,rdp/rogerpack2005-golang,rflanagan/reginaldflanagan-project1,rdp/rogerpack2005-golang,bryanxu/go-zh,npe9/noahevans-go9,npe9/noahevans-go9,scirelli/scirelli-go,npe9/noahevans-go9,npe9/noahevans-go9,npe9/noahevans-go9,scirelli/scirelli-go,glycerine/jeaten-go-arrayof-structof,webfd/go-zh,webfd/go-zh,glycerine/jeaten-go-arrayof-structof,mhennings/marcohennings-go,webfd/go-zh,sanjosh/sanjos100-tipc,scirelli/scirelli-go,sanjosh/sanjos100-tipc,rflanagan/reginaldflanagan-project1,mhennings/marcohennings-go,scirelli/scirelli-go,scirelli/scirelli-go,rdp/rogerpack2005-golang,mhennings/marcohennings-go,d0f/go-zh,rdp/rogerpack2005-golang,bryanxu/go-zh,rdp/rogerpack2005-golang,rflanagan/reginaldflanagan-project1,d0f/go-zh,npe9/noahevans-go9,sanjosh/sanjos100-tipc,glycerine/jeaten-go-arrayof-structof,glycerine/jeaten-go-arrayof-structof,sanjosh/sanjos100-tipc,Triskite/willstone-goclone,bryanxu/go-zh,scirelli/scirelli-go,mhennings/marcohennings-go,webfd/go-zh,scirelli/scirelli-go,d0f/go-zh,Triskite/willstone-goclone,Triskite/willstone-goclone,rflanagan/reginaldflanagan-project1,d0f/go-zh,Triskite/willstone-goclone