Emit call graph information in .sjsinfo, for upcoming dce.

No dce is actually performed yet. This commit only emits the
necessary information.
Perform reachability analysis for dce.

The dce itself is still not actually done. The
preoptimizeJS task performs reachability analysis, from
which dce will be able to work to produce the optimized
output.
Write dce'ed output with class-level granularity.

Although the analysis in the previous commit has a method-level
granularity, this commit only uses the class-level info to decide
whether or not to include an entire class.