Fix emitting buildTypes field in downloaded packages. (copy of #406)
Add an early out for invalid child configurations in the dependency resolver. Fixes #405.

Previous behavior could cause exponential run time.
Add missing recursion during dependency resolution. See #405.
Eliminate dependency versions that are known to not match the root package. See #405.

This change eliminates all dependency versions that are known to violate the dependency specification of the root package or of uniquely defined dependencies thereof. This can greatly reduce the search space for valid combinations later on in the algorithm.
Update change log.
Fix trying to copy copyFiles where source==destination.
Avoid double escaping of "+" in download URLs. Fixes #411.
Replace "+" by "$" when storing packages to avoid confusing Optlink. See #411.
Use "_" instead of "$" to avoid potential shell confusion. See #411.
Fix access violation when looking for sub packages of non-installed packages. Fixes #398.
Fix repeated download of packages when a non-existent external sub package is referenced.

See #398.
Improve error messages for failures to parse dependency package descriptions.

See #398.
Improve warning message when --rdmd is used without a "mainSourceFile".

See also #396.
Avoid '/', '\\' and ':' in build path when --compiler specifies a complex path. Fixes #412.
Fix detection of unknown root dependencies and the resulting error message. Fixes #418.
Update change log.
Fix "copyFiles" directives.
Bump version number.
Merge branch '0.9.22'

Conflicts:
	source/dub/dub.d
	source/dub/generators/build.d
	source/dub/generators/generator.d
	source/dub/package_.d