Revert "Revert part of my pkg2 WIP that accidentally made it into the last commit"

This reverts commit 07b6e921a32f8482e5a147cc6d5d6a21a8bfe5f9.
Stateless Pkg2.fixup
Added sort performance tests
Fix an infinite loop in fixup
fix #3781

this was due to println blocking and switching tasks during macroexpansion.
uses of fl_gc_handle were holding on to stack addresses, which cannot be
done around calls to arbitrary julia code. I believe the only place this
was happening was fl_map1, which calls flisp code that might call julia
code. other uses of fl_gc_handle only surround flisp object allocations,
which is ok.
Merge branch 'master' of github.com:JuliaLang/julia
Merge pull request #3791 from kmsquire/sortperf

Added sort performance tests
update helpdb.jl
fix jl_init bitrot for jlapi
Merge branch 'master' of git://github.com/JuliaLang/julia
Allow fixup on arrays of arbitrary string types
timedwait added
Merge pull request #3783 from amitmurthy/amitm/twait

Alternative implementation of timedwait
Merge pull request #3784 from JuliaLang/kf/pkg2fixup

Pkg2: Remove state from fixup
Bump zlib version. Someone complained that the older one was no longer
available.