Added empty willSleep Method

Summary: Helps fix T2933

Test Plan: None required?

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2933

Differential Revision: https://secure.phabricator.com/D5651
Allow PHPFragmentLexer to parse terminal backslashes inside strings

Summary: Fixes T2944.

Test Plan: Unit tests.

Reviewers: nh, btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2944

Differential Revision: https://secure.phabricator.com/D5653
Add a context-free grammar generator and a lipsum generator

Summary: See discussion in D5605. Add support for generating realistic-seeming test data.

Test Plan:
Generated lipsum:

Lorem laboris irure proident ut voluptate non ("Ipsum Lorem Dolor") minim aliqua ea anim nisi sunt. Ipsum ipsum consequat reprehenderit laborum anim commodo. Amet magna quis sed ("Dolor Dolor Lorem") minim quis laboris ea. Dolor laboris ut sit excepteur exercitation ("Lorem Dolor Sit") labore quis aliquip nisi.

Lorem lorem! Amet adipisicing ullamco duis enim in. Lorem excepteur aute officia ("Sit Lorem Ipsum") labore velit.

Amet proident minim elit dolor sit ("Sit Sit Sit") sed occaecat est. Sit officia.

Lorem voluptate eiusmod lorem amet aute esse ("Ipsum Dolor Sit") eu ea nisi eu. Lorem labore. Lorem dolore fugiat: excepteur, in, elit sunt. Amet lorem qui fugiat dolore! Lorem occaecat fugiat! Ipsum nisi eu: ex, ipsum, nostrud magna.

Dolor ad mollit minim sunt; lorem duis amet quis dolor. Amet culpa magna commodo irure: eu, esse, mollit anim. Dolor sint officia fugiat? Dolor anim. Dolor cillum nostrud fugiat qui ("Sit Sit Amet") tempor mollit. Ipsum amet voluptate magna labore!

Amet eu deserunt amet in. Dolor amet veniam sed aliqua ullamco sit. Amet ea sint aute nulla adipisicing, "Dolor et incididunt duis." Sit enim laborum proident elit ex. Dolor cupidatat; adipisicing irure irure ea consequat excepteur.

Ipsum sunt do amet aliqua aliqua culpa! Lorem dolore nostrud amet ut; nulla est deserunt officia ipsum. Sit ipsum. Lorem esse elit sit ut ex, "Ipsum reprehenderit labore duis fugiat sed." Ipsum sit non aute in; et est.

Sit ad nostrud consectetur esse anim! Ipsum magna aliqua ipsum consequat culpa aute. Ipsum ex sint nulla sit aliquip ("Amet Sit Amet") nulla. Lorem occaecat enim ipsum proident; irure officia sunt aliqua excepteur est.

Amet reprehenderit adipisicing et nisi et sed!

Ipsum enim aute deserunt adipisicing eu; do id laboris fugiat est. Lorem adipisicing. Lorem mollit tempor, "Amet amet magna." Amet laborum ut; culpa dolor sint.

Sit ipsum et laborum deserunt adipisicing. Sit do voluptate sint sint sunt aute, "Lorem proident non cupidatat non amet." Ipsum pariatur ad aliquip mollit aliqua ut: tempor, commodo, duis labore. Sit adipisicing quis duis et aliqua minim?

Sit et sint cupidatat est sint eiusmod?

Ipsum sint magna laborum magna duis; in officia sint in. Dolor labore. Lorem ex qui ea do commodo laborum. Amet dolore laborum tempor? Ipsum anim veniam nulla officia nisi esse; proident proident tempor cupidatat exercitation. Amet commodo quis mollit nisi lorem incididunt: non, exercitation, in laborum.

Ipsum irure veniam consectetur elit nostrud. Lorem non reprehenderit aute aliqua sed culpa: sed, nostrud, sit excepteur. Amet aute in elit laboris sed veniam? Lorem nisi reprehenderit nisi?

Reviewers: chad, vrana, AnhNhan

Reviewed By: chad

CC: aran

Differential Revision: https://secure.phabricator.com/D5606
Add a realname CFG

Summary: Pulled this mostly from Wikipedia while attempting not to be too racist or sexist.

Test Plan:
Alexander Taylor-Young
Aya Liu
Mahmoud "Ocelot" King
Noah Young
Emil McLewis
Esther Moore
Emil Clark
Jakub Williams
Youssef Zhao
Oliver Anderson-Allen
Victor Zhou
Mohamed Harris
Youssef Liu
Dylan "Apex" Thompson
Julia Li
Ahmed Marinez
Nathan Wu Li Shao
Emily Li
Noam Zhao
Noah Sun
Emily Williams
Mohamed Wilson
Santiago Robinson
Ahmed Zhao
Lucas Allen
Leon Davis
Marie McLiu
Nathan Li Wu Liu
Esther Lewis
Leon Anderson
Fatma McChen-O'Clark
Lucas Chen
Mustafa Brown
Julia Ma
Jack Lee
Madison Wang
Emma Marinez
Anya Jones

Reviewers: chad, AnhNhan

Reviewed By: AnhNhan

CC: aran

Differential Revision: https://secure.phabricator.com/D5608
Never self-close tags which can't self-close in phutil_tag()

Summary: Fixes T2955.

Test Plan: Unit tests.

Reviewers: chad, btrahan

Reviewed By: chad

CC: aran

Maniphest Tasks: T2955

Differential Revision: https://secure.phabricator.com/D5664
Add a method to identify running daemons in the process table

Summary: Ref T2374. Basically, sometimes we lose track of daemons and users get weird behaviors as a result. It's hard to figure out what's causing us to lose track of daemons since it rarely/never repros, but very easy to add some fallback code which does sanity checks against the process table. This should make the condition easy to understand/resolve until we eventually isolate and fix the pidfile stuff, or understand it better, or whatever.

Test Plan:
Ran the method and got reasonable output:

{F40173}

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2374

Differential Revision: https://secure.phabricator.com/D5663