The os.RemoveAll() call returns nil if the path doesn't exist. When the
rmPath function is called with allowNotFound set to false, it doesn't change the
behaviour of the function.
Change the code so if allowNotFound is set to false, we first check
whether the file exists. If it doesn't exist, return an error.
Add tests for three relevant cases.
Signed-off-by: Jakub Ciolek <jakub@ciolek.dev>