Pkg.generate features

I am working to close #4908, #8267, #8144. This should also supplant #7809.

I have added the following licenses for #4908, #7809:
* GPLv2 
* LGPLv2
* CC0

This also publicizes the licenses better when `Pkg.generate()`, `Pkg.generate("MyPkg")`, or `Pkg.generate("MyPkg", "WithAnInvalidLicense")` is called.
 
Generation now initializes with a .gitignore for `*.jl.cov`, `*.jl.mem`.

Possibly contentious:
I've added code coverage by default into the .travis.yml file and the corresponding badge to the readme. Code coverage has helped improve my code quality and helps significantly with debugging. I am not sure how people feel about promoting coveralls.io by default, but it seems to be the best free option.
Just for fun I made travis do `Base.runtests()` and it hung. https://travis-ci.org/sjkelly/PkgWithoutPCRETravis.jl/jobs/35058731

I am not sure if this is related.