handle backslash in raw string in Emacs 23

Go-mode in Emacs 23 does not recognize a backslash followed
by a backquote as end of raw string literal, as it does not
support syntax-propertize-function which Go-mode uses to
remove special meaning from backslashes in ``.

This patch provides a fallback mechanism to do the same thing
using font-lock-syntactic-keywords, which is supported by
Emacs 23.
do not highlight built-in function if not followed by '('

Name of built-in function is not reserved word in Go, and you can
use it as variable name. "new" is often used as local variable, for
instance.

This patch is to apply font-lock-builtin-face only when built-in
function name is followed by '(', so that it doesn't highlight
non-function variable that happen to have the same name as built-in
function.
ignore backquote in comment or string

go-mode on Emacs 23 wrongly recognizes a backquote in a comment or
a string as a start of a raw string literal. Below is an example
that go-mode does not work well. This patch is to fix that issue.

  // `
  var x = 1
  // `
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
style adjustments as per CL 106010043
style adjustment
add documentation for godoc-at-point
simplify godef--successful-p
simplify godoc-at-point
improve README

restructure the README, drop most references to the Go 1.0.3 go-mode as
there's no reason to remind people of all the terrible bugs.
when parsing GOPATH, split on the platform-specific path separator
readd link to gocode in README
import Go's license
remove LEGAL, treat this repository as a mirror of misc/emacs
Cancel narrowing before gofmt

Previously gofmt would mess up your buffer if you run
it while your buffer is being narrowed. This patch fixes
the issue.
remove all references to upstream misc/emacs

CL 105470043 <https://codereview.appspot.com/105470043/> removes all
editor and shell integration from the Go repository. This makes our git
repository the canonical source of go-mode.