Replace boost::iterator_range with folly::Range

Summary: We use folly::Range in the JIT, might as well be consistent.

Reviewed By: @swtaarrs

Differential Revision: D1747315

Signature: t1:1747315:1418899046:bbee650951b4574404b54072a061a45b5fac5186
Don't allocate PlainFile instances on the stack.

Summary: All ResourceDatas must be smart-allocated.

Reviewed By: @jdelong, @​bnell

Differential Revision: D1753418
Fix a bug in refcount-opts for InterpOneCF

Summary: It would double consume the things the InterpOneCF was going to do,
because it both used local_effects on it and a special case to consume
everything.

Reviewed By: @swtaarrs

Differential Revision: D1732324

Signature: t1:1732324:1418254150:7d3e2613b1052a32afb9f7206ec62453c5b9b43a
Check surprise flags on conditional backward jumps and *IterNexts

Summary: The interpreter does, but the jit doesn't.

Reviewed By: @markw65

Differential Revision: D1726231
Various fixes for OSS upstream sync

Summary: Fix build on Linux (on some platforms ocamlopt exists but not
ocamlc.opt).

Reviewed By: @bhosmer

Differential Revision: D1707929

Signature: t1:1707929:1417455110:18f7cbfb08c376ca3b59cabf4ac4e4a28002e866