Treat GOPATH as a list of workspaces; use first workspace.

Fixes #60.
The behavior should be improved (fixes #60) if user has multiple GOPATH
workspaces.
The behavior should be unchanged if user has a single GOPATH workspace.
First cut at correct GOPATH handling as a list, rather than assuming it
contains no more than 1 entry. It's unfinished and needs more work to
correctly handle all scenarios with multiple GOPATH workspaces, but
it's an improvement over the original version.
Use filepath.Join instead of concatenating strings for path
manipulation.