Make GC parameters configurable.

Summary: This can have a noticeable effect on large repos.

Reviewed By: @elgenie

Differential Revision: D1739364

Signature: t1:1739364:1419273720:be276c7a531b7c47a7385fec607c4f60b9bcd5db
Log whether we are loading from a saved state in INIT_END.

Reviewed By: @elgenie

Differential Revision: D1747047

Signature: t1:1747047:1419130128:c90094074d0d3164d7efcc44a92ec58f970e26e7
Improve error handling for saved states.

Summary: * If loading fails, fall back to starting from a fresh state (and log
  the error)
* Have the C loading code throw an exception instead of dereferencing
  a null pointer on failure (which would terminate the program)

Reviewed By: @elgenie

Differential Revision: D1749993

Signature: t1:1749993:1419238439:4250b7747377b961f2489cd9992bf8bb8a2f5a79
Stop persisting Socket/SSLSocket.

Summary: Make a parallel class hierarchy for all the non-smart allocated data members in File/Socket/SSLSocket.  Add a shared_ptr to File that points to a new'd instance of one of the parallel classes.  Use this data to construct persistent Sockets as needed.

This diff still needs more work but I thought I should submit something anyway.  I think the parallel class hierarchy and reconstruction of persistent sockets is a bit confusing.  I also haven't enabled smart allocation for Sockets yet since this breaks the debugger tests.  I'm still working on that.

Reviewed By: @edwinsmith

Differential Revision: D1746215
Disable guard relaxation for loopy translations

Summary: Also enable fixed-point FrameState for reoptimize(). The legacy
reoptimize is now broken for loopy translations.

Reviewed By: @ottoni, @jdelong

Differential Revision: D1744342

Signature: t1:1744342:1418843317:71dbc7a89cfb0413dcd23723ccfd64e16aeabd9d