More lenient parsing with better error recovery. It's easier for the type check to pick up the slack. R=iant CC=golang-dev https://golang.org/cl/6856108