Fixes issue #44
Some refactor was done, and the logic is pretty basic, it has two phases:
1. look each item of the database and for each file looks if it exists in the path, if no it deletes them from the DB.
2. looks the path and for any file that it's not in the databaes it adds them to the database.
Logging has to be improved, and a lot of testing is missing, but still looks neat.