Allow gocode command to be customised

When used in environments built with `goenv`, the `gocode` command needs to be prefixed with `goenv exec`.

This allows the command to be customised via the standard Emacs method - but because it defaults to the original value of `gocode` most users shouldn't see any difference.