- fixed potential indexer crash when attempting to update a removed file
- updated unit test setup to adjust settings to support the assertions
added exception handler during indexing, for duplicate paths
- add check for db_record, it could be None
updated requirements; reorganized main.py

- cleaned up and reorganized main script options
refactor settings.py to support yaml config loading; updated settings parsing, moved to separate module
Merge remote-tracking branch 'upstream/yaml-config' into multiple-projects
* Updated settings.py (reading the configuration)
* Updated app_args.py (support for --verbose option)

Conflicts:
	core/sherlock/indexer.py
	main.py
	tests/__init__.py