More error handling and custom path

Ask the user for a path to search and handle permission denied, etc
errors.
Also perform sha1 hashes

For files with the same names and sizes we do a hash to ensure they are
identical.