crypto/tls: don't send NPN extension if NextProtos is not set.
crypto/tls: don't send NPN extension if NextProtos is not set.

This isn't clearly a bug on Go's part, but it triggers a bug in Firefox
which means that crypto/tls and net/http cannot be wired up together
unless NextProtos includes "http/1.1". When net/http sets up the
tls.Config, it does this and so works fine. But anyone setting up the
tls.Config themselves will hit the Firefox bug.

Fixes issue 5445.

R=golang-dev, bradfitz, r
CC=golang-dev
https://codereview.appspot.com/9539045

wesolows/golang,firebitsbr/golang-old,wesolows/golang,firebitsbr/golang-old,wesolows/golang,firebitsbr/golang-old,wesolows/golang,wesolows/golang-old,wesolows/golang,firebitsbr/golang-old,wesolows/golang-old,firebitsbr/golang-old,firebitsbr/golang-old,wesolows/golang-old,wesolows/golang-old,wesolows/golang-old,firebitsbr/golang-old,wesolows/golang-old,wesolows/golang,firebitsbr/golang-old,wesolows/golang-old,wesolows/golang