cmf: fix cmf -deadcode to not crash when no uses was found via git grep

Summary:
This used to work ... probably the refactoring/generalization I did a month ago
with Jiao to allow cmf to work with mercurial introduced this bug.

Test Plan:
unit test included
also
$ arc patch D972737
[pad@dev469 ~/www (arcpatch-D972737)]$ cmb --deadcode
checking HEAD
removal of 8 uses of Class FBObjDeuxConfig
but its definition was also removed
removal of 1 uses of Function mt_rand

Reviewers: pieter, michalburger1

Reviewed By: pieter

Differential Revision: https://phabricator.fb.com/D973628
spatch: add a new refactoring, AddInterface

Summary:
Hannes and ashwin wanted that. This can not be expressed by
the spatch DSL so I had to hardcode another adhoc transformation
for that.

Test Plan:
unit test included
$ ./spatch -test

Reviewers: pieter, hannesr, ashwin

Reviewed By: ashwin

CC: julienv, amenghra, jwatzman

Differential Revision: https://phabricator.fb.com/D972035
spatch: remove interface

Summary: Hannes needed that

Test Plan: unit test included

Reviewers: pieter, hannesr, ashwin

Reviewed By: hannesr

CC: julienv, amenghra, jwatzman

Differential Revision: https://phabricator.fb.com/D972996
* matcher/lib_unparser.ml: misc
spatch: fix double space issue in a more generic way

Test Plan:
unit test included
./spatch -test

Reviewers: pieter, hannesr, ashwin, jwatzman

Reviewed By: hannesr

CC: julienv

Differential Revision: https://phabricator.fb.com/D973268
spatch: -add_interface and -remove_interface new actions

Summary: The final glue code to perform the refactorings

Test Plan:
master~/www/flib/core/utils $ ~/pfff/spatch -remove_interface WrappedException ResultOrExceptionWrapper WrappedException.php
--- WrappedException.php	2013-07-24 10:08:52.000000000 -0700
+++ /tmp/trans-27443-f06554.spatch	2013-09-17 15:13:21.000000000 -0700
@@ -4,7 +4,7 @@
 /**
  * Represents a result of failed operation.
  */
-final class WrappedException<T> implements ResultOrExceptionWrapper<T> {
+final class WrappedException<T> {
   private Exception $exception;

   public function __construct(Exception $exception) {

master~/www/flib/core/utils $ ~/pfff/spatch -add_interface Number Iterable Number.php
--- Number.php	2013-08-06 10:55:48.000000000 -0700
+++ /tmp/trans-23136-4d4f91.spatch	2013-09-17 15:10:38.000000000 -0700
@@ -6,7 +6,7 @@
  * is mostly useful for printing the digits of the number in a consistent way
  * but we could probably use it for other stuff too if we ever need to.
  */
-class Number {
+class Number implements Iterable {

   private int $mantissa;
   private int $exponent;

Reviewers: hannesr, ashwin, pieter

Reviewed By: ashwin

CC: julienv, jwatzman, dsereni

Differential Revision: https://phabricator.fb.com/D973404