Moved DefaultRootPathProvider to separate file

Public, non-nested types should be in separate files IMO :sparkles:

I also added `*.ide` to **.gitignore** :smile: