Fix slice indexing in cursorcontext.

Fixes a corner case in which if the identifier is followed by a
whitespace and the cursor is on the whitespace, the code would try to
access a slice past its boundaries:

```
panic: runtime error: slice bounds out of range
1(runtime.panic): /usr/lib/go/src/pkg/runtime/panic.c:248
2(runtime.panicstring): /usr/lib/go/src/pkg/runtime/panic.c:482
3(runtime.panicslice): /usr/lib/go/src/pkg/runtime/panic.c:439
4(main.(*auto_complete_context).deduce_cursor_context):
/home/tzn/src/go/src/github.com/nsf/gocode/cursorcontext.go:230
5(main.(*auto_complete_context).apropos):
/home/tzn/src/go/src/github.com/nsf/gocode/autocompletecontext.go:253
6(main.server_auto_complete):
/home/tzn/src/go/src/github.com/nsf/gocode/server.go:145
7(main.(*RPC).RPC_auto_complete):
/home/tzn/src/go/src/github.com/nsf/gocode/rpc.go:26
8(runtime.call64): /usr/lib/go/src/pkg/runtime/asm_amd64.s:340
9(reflect.Value.call): /usr/lib/go/src/pkg/reflect/value.go:474
10(reflect.Value.Call): /usr/lib/go/src/pkg/reflect/value.go:345
11(net/rpc.(*service).call): /usr/lib/go/src/pkg/net/rpc/server.go:381
12(runtime.goexit): /usr/lib/go/src/pkg/runtime/proc.c:1394
```
One weird trick to speed up your imports.

Setting the `build.FindOnly` flag when calling `context.Import`
drastically speeds up parsing, especially when accessing remove file
systems (e.g.  nfs). Tests are still running and everything seems fine
so far, hopefully nothing relies on anything other than `p.PkgObj`, so
we should be fine.
Minor fixes to autobuild function.
Merge branch 'check_err' of https://github.com/tiziano88/gocode
Merge branch 'import_find_only' of https://github.com/tiziano88/gocode
Prioritize lib-path over canonical imports.

Fixes #244.
Fix regression in cursor context deduction. Fixes #248.
Remove filtering noise from autocompletion results. Fixes #248.
Fix completion of functions using anonymous structs

When using anonymous structs the ripper would find the wrong beginning for the enclosing function
Fix completion of functions with pointer to anonymous struct as parameter
Enable inserting function or method arguments
Print parsing errors in '-debug' mode.
Insert semicolon at the cursor location. Fixes #254.

Often when you do autocompletion, the text your cursor points at is a partial
statement. But go's parser fails to recognize that if it ends with '.' and
continues parsing assuming the statement spans multiple lines (doesn't insert
a semicolon).

This ugly hack fixes it. However, it's unclear how this hack will behave for
cases when you're in the middle of an expression.
Update test expected values for latest go version (1.4beta1).

It sucks that gocode tests depend on Go's API, but I'm too lazy to make it
right anyway.
Merge pull request #1 from nsf/master

merge update from upstream