Added "optional" dependency flag.
Package updating could work with optional dependencies.
Added "dub list-system" and "dub list-user".
Fixing issues in getTopologicalPackageList and getPackageConfigs because of added "optional" flag for Dependencies.
Updating optional dependencies themselves, when they are available.
Not available optional dependencies are not wared upon.