go spec: conversion types starting with "func" must be parenthesized
Also: Be explicit what operator means with respect to conversion types.
The parenthesis requirement is a language change. At the moment,
literal function types in conversions that cannot possibly be
followed by a '(' don't need parentheses. For instance:
func(int)int(x) -> same as (func(int)int)(x)
func()()(x) -> same as (func())(x)
but:
func(int)(x) -> could be func(int)x {...}
Fixes #4109.
R=rsc, r, iant, ken, iant
CC=golang-dev
https://golang.org/cl/
6584065