examples/modint.jl: make the ModInt type immutable.
Pkg: make Pkg.Resolve interface purely functional.

This is a first step towards refactoring Pkg in such a way that it
can actually be tested. Since this is now purely functional, it can
be tested without needing to have git repos or any other Pkg stuff.
closes #2566
fix #2568, rename Y()
fix #2562
fix problem where make exits with 0 when running 1 failing test
add module keywords to doc index. closes #2072
add punctuation table to doc. closes #1524
document more constants
help("@macro") works; describe it. closes #1461
Move cpp.jl into a package
Remove cpp documentation (use package docs)