go/types: typechecking conversions, part 1 (non-constants)

R=adonovan
CC=golang-dev
https://codereview.appspot.com/7103058