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 comes from ps.getVersions()
If the package doesnt exist, that (or one of the methods it uses) will throw an exception with a 404 in it.

I can easily add an error message there and exit, however, that would mean that if your trying to init a project while offline, it wont work. That was the rationale when I did it anyway.
I can easily change it to catch the 404 and die?