.o object extension for Linux, emulate -MM behavior

Test plan: built project, compared deps files. Note that warp does not generate sourceless deps and does not use the -o file as the target.

Reviewed By: andrei.alexandrescu@fb.com
warp: improved generation of warpdrive

Summary: This automates 100% the generation of warpdrive, depending on the user's locally installed "cc" and "c++" compilers. Also warpdrives for non-default compilers, custom installations etc. can be generated by overriding makefile variables.

Test Plan: built it

Reviewed By: njormrod@fb.com

FB internal diff: D1280837
fix token cat bug

Test Plan: unittest

Reviewed By: andrei.alexandrescu@fb.com
checked for raw string literal in wrong place

Test plan: build

Reviewed By: andrei.alexandrescu@fb.com
add _Pragma support

Test plan: built

Reviewed By: andrei.alexandrescu@fb.com
Revert "checked for raw string literal in wrong place"

Summary: This reverts commit dd1898050bdbf3120d3da63941907e30bf08aea0.

Test Plan: built folly

Reviewed By: njormrod@fb.com

FB internal diff: D1296752
Revert "fix token cat bug"

Summary: This reverts commit 7677097c5b8b17a9985eeb2f75631af6e692820e.

Test Plan: built folly

Reviewed By: njormrod@fb.com

FB internal diff: D1297561
Warp bugfix: git unresolved merge now causes graceful termination

Summary: Warp bugfix: git unresolved merge now causes graceful termination

Test Plan: Recreated repro from the initial bug report. Witnessed the repro's failure. After the fix, instead of a segfault, an err_fatal fires and indicates the location in the cpp source that produced the issue.

Reviewed By: andrei.alexandrescu@fb.com

FB internal diff: D1332782

Tasks: 4330572