Search for books recursively

It's easier for listDir to return absolute filenames now, since we'll
have to split filenames in subdirectories anyway.  Closes #30.