Use build.Context instead of gocode_env.
Better expression extraction.

Most notably, I noticed that `if fmt.#` was not working correctly. I
added a test case and fixed the code.
Merge branch 'build_context' of https://github.com/tiziano88/gocode
Merge branch 'complete_in_if' of https://github.com/tiziano88/gocode