Refatoring restore script
Refactored and introduced specs for factories
Refactoring
removed unnecessary print statement
Refactored Backup also
Renamed EmptyProgressReporter to DeafAndDumbReporter and removed password prompting for dry-run
Merge branch 'abstractfactory'