langserver: fix workspace/reference column numbers being off-by-one
langserver: fix workspace/reference column numbers being off-by-one

This is easy to confirm with e.g. the fact that for `go external dep`, after this change:

```
			wantReferences: map[string][]string{
				"a.go:1:51": []string{
					"/src/test/pkg/a.go:1:51",
					"/src/test/pkg/a.go:1:66",
					// Do not include "refs" from the dependency
					// package itself; only return results in the
					// workspace.
				},
			},
			wantWorkspaceReferences: []string{
				// TODO: bug: our end locations are invalid (the commented lines are correct).
				"/src/test/pkg/a.go:1:19-1:17 -> /src/github.com/d/dep dep/<none>",
				"/src/test/pkg/a.go:1:51-1:50 -> /src/github.com/d/dep dep/D",
				"/src/test/pkg/a.go:1:66-1:65 -> /src/github.com/d/dep dep/D",
			},
```

`wantReferences` (`textDocument/references`) emits `1:51` and `1:66` which aligns exactly
with the new line numbers for `wantWorkspaceReferences`. This happens in many other test cases,
too.

Let's take one test case and add markers to make it more clear. We'll be using a test case prior to this change, which is written as:

```
   "/src/test/pkg/a.go:1:18-1:17 -> /src/github.com/d/dep dep/<none>",
   "/src/test/pkg/a.go:1:50-1:50 -> /src/github.com/d/dep dep/D",
   "/src/test/pkg/a.go:1:65-1:65 -> /src/github.com/d/dep dep/D",
```

If we look at this code with markers placed for the test cases, and assume we have one-based values as we do in our tests (but not in LSP) we get:

```
package a; import "github.com/d/dep"; var _ = dep.D; var _ = dep.D
                 ^ 18th                          ^ 50th         ^ 65th
```

Obviously, this isn't correct. We're off by one. This then looks correct:

```
package a; import "github.com/d/dep"; var _ = dep.D; var _ = dep.D
                  ^ 19th                          ^ 51st         ^ 66th
```

sourcegraph/go-langserver,lambdalab/go-langserver,lambdalab/go-langserver,sourcegraph/go-langserver,sourcegraph/go-langserver,lambdalab/go-langserver