Include original path in CommandNotFound.

Whenever `which()` fails to resolve the path it returns `None` and
overwrites the original `path` value. Later when we create 
`CommandNotFound` exception we always pass `None` instead of the
original `path` value and it makes `CommandNotFound` not so usefull.
Merge https://github.com/themalkolm/sh into release-1.10