refactor godef error handling

split out error checks and error reporting so that other functions can
reuse them.
add godoc-at-point

show godoc for the function/method/type/variable at point. Due to
current limitations in godef and godoc, a method lookup discards the
type, which will result in documentation for both functions and methods
with the same name.
suggest flycheck as well as flymake and fix URL markup
write our own implementation of go--delete-whole-line

Using flet to replace kill-region with delete-region was a hack, flet is
deprecated and at least two people (probably due to a bug in a third
party package) have had their kill ring broken by our hack.
more compact implementation of go--delete-whole-line