Initializes a new package in the given directory.
The given root_path will be checked for any of the files that will be created by this function. If any exist, an exception will be thrown before altering the directory.
Directory in which to create the new package. If the directory doesn't exist, a new one will be created.
A set of extra dependencies to add to the package recipe. The associative array is expected to map from package name to package version.
The type of package skeleton to create. Can currently be "minimal", "vibe.d" or "deimos"
Optional callback that can be used to customize the package recipe and the file format used to store it prior to writing it to disk.