Initial implementation of function-granularity sharing.

No sharing at commit-time yet, only at analysis time; also serves to cheapen iterating over loops when calls' results are not modified.
Remove the unique 'parent' field from InlineAttempts since they may now have multiple parents.