Pkg: major rename and refactor of package generation code.

The major user-facing change is that Pkg.scaffold has been replaced
by Pkg.generate, which has similar functionality but a slightly
different interface – license is a required second argument instead
of a "required" keyword argument.

This change also factors all the little bits of content generation
into their own separately callable functions.

Finally, if you want to generate packages to a non-standard place,
this no longer provides a keyword argument to do so. Being a non-
standard code path, that was really prone to bit-rot. Now, instead
what you can do is change JULIA_PKGDIR and then call Pkg.generate
as you normally would. It doesn't require any METADATA or other
special files to exist, so this can be an arbitary directory and
it will just work.

options that were available as keyw
Merge branch 'master' of github.com:JuliaLang/julia