check an array of search paths to find a file
trail checks for a file or directory on a bunch of search paths.
for example, given the paths
['a', 'b', 'c'] and the basename
'file' it'll return the first of
['a/file', 'b/file', 'c/file'] that exists.
paths should be an array, basename should be a string. cb should be a callback that takes error and pathname arguments. No error is ever passed. If the file is not found, null is passed as pathname.