platformdirs: introduce user_downloads_dir() (#192)

* platformdirs: introduce user_downloads_dir()

Introduces the means to acquire the user's downloads directory path.

Feature suggested from #191.

Note that Windows does not have a CSIDL for the Downloads folder, so CSIDL_PROFILE with 'Downloads' appended is used instead.

* fix linter issues
13 files changed