At some point using the directory listing in a package will tell us whether there are no go files (parsing).

Slight violation of YAGNI but I actually implemented this with the
intent to use it to fix something else but that became unnecessary.
Rename in preparation for the next commit.
Implemented an abstraction over the concept of the $GOPATH environment variable.
Rename.
The watcher will no longer set the GOPATH.

We will just use the ambient one and that's that.
The gopath abstraction is now for queries only. (it no longer set the value)
The shell needs to change directories.

We will no longer pass the package name as a parameter to "go test" so
we have to be in the directory.
Logged TODOs for current github issues: #85 & #92
Implemented validation for watched folder in watcher (must be within GOPATH).
Actual execution of `go test ...` happens in the shell now.
Phew, you can specify the working directory on a per-command basis.

The working directory was being hijacked by other goroutines. That was
a close one.
Merge branch 'gopath'
Merge branch 'master' of https://github.com/smartystreets/goconvey