First cut at changes discussed in issue #3423

This version also needs cleaning (the two cholfact methods defined in the loop should be condensed to one) but I am putting this up for others to see what I meant.
Merge pull request #3460 from JuliaLang/db/sparsecholfact

First cut at changes discussed in issue #3423
fix #1995, cleanup getlocalip
Pkg2: add, rm & resolve now work; still need update.
Merge branch 'master' of github.com:JuliaLang/julia
fix #3471
Merge branch 'master' of github.com:JuliaLang/julia
Document the option for find to accept a function.
Merge pull request #3474 from porterjamesj/jjp/docfix

Document the option for find to accept a function.
truncate method list when showing generic functions. closes #3438
since this is much nicer now, also show method lists for constructors
by default.
fix GC mistake in 3892e13
maybe relevant to #3476
pkg2: use dir=pkg for more git commands instead changing directory.
pkg2 wip: stub of the update function.
fix another GC mistake. should fix #3476
fix perf regression in 5f65f568e6e6de92b3d514eec76d14971c9326a7
Update SuiteSparse to 4.2.1
add type checking for named argument containers
allow passing empty keyword arg container to functions that don't accept
keyword args
annotate f as Function for map, map!, mapreduce, reduce
change the annotation of f from Function to Union(Function,DataType)