Move m_lineTable to a side table

Summary: It's only needed when we have a Unit that isn't backed by a repo, like
the one we create to run debugger commands.  Cache it when emitting the unit,
and look it up whenever we need line number information.

Depends on D1616637

Reviewed By: @jdelong

Differential Revision: D1639505

Signature: t1:1639505:1414521648:0e70e77d7a23ef01940d2a5c2cc6129b0be74a4c
Reduce X-macro use in RepoProxies

Summary: The X-macro pattern for the various RepoProxy objects seems a bit
too complicated for what it does.  I've reduced the amount of generated stuff
and mostly gotten rid of the X-macros (except for in UnitRepoProxy, where the
amount of redundancy really does get extreme).

Reviewed By: @jdelong

Differential Revision: D1641280
Don't populate the litstr-to-id map in RepoAuthoritative mode.

Summary: We only use this map to dedup strings while building the repo; we don't need it to load the repo.

Reviewed By: @markw65

Differential Revision: D1642663

Signature: t1:1642663:1414542772:57f7415ad9a99dc34154f1b09ae5929a071dddca
Remove type annotations for `array_sum` and `array_product`

Summary: Sadly they break FB www, and I don't think they are important
enough to `HH_FIXME` everywhere. If we think they are, we should fix www
*first* so that poor bootcampers who are trying to make sure their
change works aren't blindsided by random breaks like this :)

Reviewed By: @elgenie

Differential Revision: D1648201

Signature: t1:1648201:1414626068:83049b79dc2f1f3840b566c136a628f667ce00a8