Use a global cache for timezone info

Summary: Instead of caching the same info in every thread, share it using a
global AtomicHashArray.  I also considered pre-computing all the tzinfo, but a
good number of them seem unlikely to be used, so they'd just be taking up
space.

Reviewed By: @mclarkelauer

Differential Revision: D1607602
Admin Port for getting random apc entries and size

Summary: Added admin port for getting random apc entries and size. It takes a
count variable, defaults to one, and returns that number of random apc entries.

Reviewed By: @bertmaher

Differential Revision: D1599813
Only execute nextIntersect's linear search when necessary.

Summary: Two intervals that conform to SSA can only intersect if the definition point
of one is inside one of the other's live ranges. (or vice versa). Take advantage
of this by short-circuiting the intersection test when two intervals cannot
intersect.

Also add a few more intersection-avoidance checks:
  - never try to compute the next intersection of a fixed interval whos register
    is already live or with a regular interval whos register is already blocked by
    a fixed interval
  - if the current interval ends before another starts, don't bother with the linear
    search since they cannot intersect.

Reviewed By: @markw65

Differential Revision: D1591098
Explicitly destroy the singletons

Summary: Make sure they're destroyed before we exit

Reviewed By: @bertmaher

Differential Revision: D1610009
Replace Vunit::roots with a single entry block

Summary: We don't need multiple roots. All code should be reachable from a
single entry block. The only complication was bindaddr. It's now roughly
analogous to the other service request instructions in that it lives in the
code block that references it and directly emits the service request itself to
frozen.

Reviewed By: @edwinsmith

Differential Revision: D1603594
Remove outputDependsOnInput

Summary: No longer used

Reviewed By: @bertmaher

Differential Revision: D1610553
Remove NormalizedInstruction::changesPC

Summary: Nothing uses it.

Reviewed By: @swtaarrs

Differential Revision: D1610566
Remove default cases in uses of translator-instrs.h

Summary: Removing the defaults gives you a compile error when you add a new
opcode.  (Don't be alarmed about the nops in the interp one list: we skip those
first using isAlwaysNop, although we probably ought to just call an empty
emitFoo function ...)

Reviewed By: @swtaarrs

Differential Revision: D1610564