container/heap: optimization when selecting smaller child
container/heap: optimization when selecting smaller child

In down(), if two children are equal, we can choose either one.
Inspired by https://codereview.appspot.com/6613064/

Change-Id: Iaad4ca5e2f5111bf3abb87f606584e7d274c620b
Reviewed-on: https://go-review.googlesource.com/38612
Run-TryBot: Robert Griesemer <a6752097faebf1f02d80107d77a9be009089afe3@golang.org>
Reviewed-by: Robert Griesemer <a6752097faebf1f02d80107d77a9be009089afe3@golang.org>

ImJasonH/go,josharian/go,vsekhar/elastic-go,derekmarcotte/go,derekmarcotte/go,ImJasonH/go,derekmarcotte/go,golang/go,vsekhar/elastic-go,golang/go,CAFxX/go,cloudflare/go,akutz/go,Cofyc/go,derekmarcotte/go,josharian/go,josharian/go,vsekhar/elastic-go,cloudflare/go,nawawi/go,cloudflare/go,golang/go,derekmarcotte/go,nawawi/go,cloudflare/go,nawawi/go,codestation/go,polyverse-security/go,CAFxX/go,derekmarcotte/go,CAFxX/go,ImJasonH/go,vsekhar/elastic-go,josharian/go,nawawi/go,polyverse-security/go,akutz/go,polyverse-security/go,ImJasonH/go,golang/go,CAFxX/go,ImJasonH/go,akutz/go,cloudflare/go,codestation/go,golang/go,cloudflare/go,akutz/go,codestation/go,Cofyc/go,polyverse-security/go,akutz/go,christopher-henderson/Go,CAFxX/go,ImJasonH/go,akutz/go,nawawi/go,polyverse-security/go,CAFxX/go,derekmarcotte/go,josharian/go,Cofyc/go,cloudflare/go,nawawi/go,akutz/go,golang/go,polyverse-security/go,codestation/go,ImJasonH/go,vsekhar/elastic-go,nawawi/go,polyverse-security/go,Cofyc/go,golang/go,josharian/go,Cofyc/go,derekmarcotte/go,CAFxX/go,josharian/go,Cofyc/go,Cofyc/go,nawawi/go,codestation/go,CAFxX/go,vsekhar/elastic-go,vsekhar/elastic-go,Cofyc/go,vsekhar/elastic-go,josharian/go,polyverse-security/go,codestation/go,codestation/go,codestation/go,golang/go,akutz/go,ImJasonH/go,cloudflare/go