typechecker: split function bodies into named and unnamed

Summary: The naming pass is currently rather odious architecturally.
 While pulling out the set of declarations, we're also calculating
 terminality and identifying special functions. But we're not doing
 any local inference, so all of that effort is happening in the wrong
 place.

 The first step, in this diff, is to introduce an ast node for a
 function body that consist of either a named block (currently
 everything, eventually only lambdas), or an unnamed block (currently
 nothing, eventually everything but lambdas).

Reviewed By: @jwatzman

Differential Revision: D1660732

Signature: t1:1660732:1415214964:d7bdae0e42155a2153a6847b42fc4c5e0fce111d
Have rpoSortCfgWithIds compute RPO ids instead of PO ids.

Summary: I wanted to index into the RPO-sorted block vector using the ids but it
was needlessly verbose ("block[block.size() - poId - 1]"), and all of
our uses of PO ids boiled down to "id1 < id2", which easily translates
to "rpoId1 > rpoId2".

Turns out that the use of the ids in reflowTypes was wrong too, it was
using them to detect back-edges, but it assumed they were RPO ids.

Reviewed By: @swtaarrs

Differential Revision: D1672905

Signature: t1:1672905:1415730536:a98b2f5b8d64e9a1a3a046220f8f68807b0c02e0
Fix lchown when no user found

Summary: Also add appropriate warnings

Increases Symfony from 89.68 to 89.8
Closes https://github.com/facebook/hhvm/pull/4194

Reviewed By: @JoelMarcey

Differential Revision: D1669950

Signature: t1:1669950:1415808530:a050c547474714b230cccd9cfd3d638160743d0f
Try to catch more information about a problem

Summary: The bug isn't this code, but this is where it crashes.  Add an assert
and hopefully we'll get more info.

Reviewed By: @alexmalyshev

Differential Revision: D1674370
Preserve index of sockets passed into/out-of socket_select()

Summary: Active sockets should remain at the offset they were at
on the way into the function call.  HHVM is currently renumbering
them from zero.

Closes #2698

Reviewed By: @JoelMarcey

Differential Revision: D1673788

Signature: t1:1673788:1415741539:0f295abe094e63076726f4101d8c74647f17a38b