lib: Use lookpath package consistently.

Changes the signature of the lookpath functions to:
Look(env map[string]string, ...) (string, error)
LookPrefix(env map[string]string, ...) ([]string, error)

The env map is passed in, rather than a slice of dirs, to
facilitate supporting other platforms in the future.  E.g. on
windows we need to consult both the PATH and PATHDIRS environment
variables.

We now return an error, to more closely match LookPath in
os/exec.  The implementation of these methods has also changed,
to more closely match the os/exec implementation.

Also removed the copy of LookPath in runutil, and changed code to
use the lookpath package instead.

Fixes v.io/i/1157

MultiPart: 3/3
Change-Id: I3890f4debd8d519dc8d86eb4eed6759d9f6fd18e
9 files changed