Add PHPUnit support for testing PHP

**First draft implementation of PHPUnit for testing.**

# Installation
Using composer to install PHPUnit with dependencies.
```
composer intall
```

# Tests
So far I've only tested my implementation using the `node run` interface. Here are some of the tests I've been using. With a little more time and knowledge about the system I will create real test cases.

## Simple var test
Testing variables from user script is available in test method.
```bash
node run -l php \
-c '$a = "foo";' \ 
-f '$this->assertEquals("foo", $a);'
```

## Function test
Testing functions can be called and tested.
```bash
node run -l php -c '
function do_you_play_banjo($name) {
  return strtolower($name[0]) === "r" ? $name . " plays banjo" : $name . " does not play banjo";
}
' -f '
$this->assertEquals("ronnie plays banjo", do_you_play_banjo("ronnie"));
$this->assertEquals("mark does not play banjo", do_you_play_banjo("mark"));'
```

## Class test
Testing classes and mock objects can be created.
```bash
node run -l php -c '
class A {
  function f1() {
    $this->f2("foo");
  }
  function f2() {
  }
}
' -f '
$mock = $this->getMock("A", ["f2"]);
$mock->expects($this->once())
  ->method("f2")
  ->with("foo");
$mock->f1();'
```

# Successful test
If all expectations passes the output is `All test passed`

# Failed test
Example output of when we make the "Class test" fail.
```
PHPUnit 4.3.0 by Sebastian Bergmann.

F

Time: 21 ms, Memory: 3.00Mb

There was 1 failure:

1) KataTest::testSolution
Expectation failed for method name is equal to <string:f2> when invoked 1 time(s)
Parameter 0 for invocation A::f2('foo') does not match expected value.
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'bar'
+'foo'

FAILURES!
Tests: 1, Assertions: 0, Failures: 1.
```
Yeah, I have had similar problems with Nunit in C#, so I think this is just
a standard problem for these test suites.

On Sun, Oct 5, 2014 at 9:45 AM, Andreas Kristiansen <
notifications@github.com> wrote:

> In lib/runners/php.js:
>
> >
> > +            return {name: 'php', 'args': ['-r', code]};
> > +        },
> > +        sanitizeStdOut : function (output) {
> > +            var lines = output.split('\n');
> > +            var success = (lines[lines.length - 2] || '').slice(0, 2) === 'OK';
>
> This is currently the only place I validate if a test is passed by parsing
> the output. PHPUnit allow for dumping test results to a JSON file - so far
> I've been unable to redirect that to stdout.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/Codewars/codewars-runner/pull/124/files#r18436079>.
>