Added support for "dub init" to take a list of dependencies. It will search...

... for the newest version numbers of each dependency on code.dlang.org (or whatever other PackageSupplier's are defined) and add the required string to dub.json.

The current <type> functionality (Where you can pass "vibe.d", "deimos" or "minimal" into dub init) has been moved to the --type=<type> option.
"minimal" is the default <type>, as is the case now.

Example:
dub init myProject vibe-d openssl logger --type=vibe.d
will produce dub.json:
{
	"name": "myproject",
	"description": "A simple vibe.d server application.",
	"copyright": "Copyright © 2014, Colin",
	"authors": ["Colin"],
	"dependencies": {
		"logger": "0.3.3",
		"vibe-d": "0.7.21-rc.4",
		"openssl": "1.1.3+1.0.1g"
	},
	"versions": ["VibeDefaultMain"]
}

It would be better to print the error and return false here, because dub will refuse to run init again until you clean up the dir.
So the user experience here is
dub init . smepkg
dub init . somepkg # existing dub.json
rm dub.json
dub init . somepkg # existing .gitignore
dub uninit
dub clean
cd ..
dub init foo somepkg