Fixes the test not to freeze on HHVM

This resolves #475
minor #491 Fixes the test not to freeze on HHVM (Nyholm)

This PR was merged into the 0.5.x-dev branch.

Discussion
----------

Fixes the test not to freeze on HHVM

This resolves #475

Commits
-------

a564c30 Fixes the test not to freeze on HHVM
fix docs
minor #490 [minor] fix docs (keradus)

This PR was merged into the 0.5.x-dev branch.

Discussion
----------

[minor] fix docs

Commits
-------

7f96f02 fix docs
Fixed tests on HHVM
minor #492 Fixed tests on HHVM  (Nyholm)

This PR was squashed before being merged into the 0.5.x-dev branch (closes #492).

Discussion
----------

Fixed tests on HHVM

I fixed the errors on on the test suit on HHVM. They are related to HHVM and not this lib. I created workarounds and made a comment about it.

I also fixed some failures that relied on the order of the fixers returned from `Fixer::getFixers`. When using `usort` on HHVM you can't rely on the order between objects with the same weight.

There are still failures that I have not managed to figure out a good workaround for. They are related to the `token_get_all` function. On HHVM `token_get_all` does not return the same output.
Example:
``` php

$var = <<<'EOF'
<?php
$b = <<<'TEXT'
Foo TEXT;
Bar1}

FooFoo
TEXT;
EOF;

var_dump(token_get_all($var));
```
``` php
//Prints on PHP 5.5:

array(7) {
  [0] =>
  array(3) {
    [0] =>
    int(374)
    [1] =>
    string(6) "<?php
"
    [2] =>
    int(1)
  }
  [1] =>
  array(3) {
    [0] =>
    int(310)
    [1] =>
    string(2) "$b"
    [2] =>
    int(2)
  }
  [2] =>
  array(3) {
    [0] =>
    int(377)
    [1] =>
    string(1) " "
    [2] =>
    int(2)
  }
  [3] =>
  string(1) "="
  [4] =>
  array(3) {
    [0] =>
    int(377)
    [1] =>
    string(1) " "
    [2] =>
    int(2)
  }
  [5] =>
  array(3) {
    [0] =>
    int(378)
    [1] =>
    string(10) "<<<'TEXT'
"
    [2] =>
    int(2)
  }
  [6] =>
  array(3) {
    [0] =>
    int(315)
    [1] =>
    string(30) "Foo TEXT;
Bar1}

FooFoo
TEXT;"
    [2] =>
    int(3)
  }
}

```

``` php
//Prints on HHVM:

array(6) {
  [0]=>
  array(3) {
    [0]=>
    int(368)
    [1]=>
    string(6) "<?php
"
    [2]=>
    int(1)
  }
  [1]=>
  array(3) {
    [0]=>
    int(309)
    [1]=>
    string(2) "$b"
    [2]=>
    int(2)
  }
  [2]=>
  array(3) {
    [0]=>
    int(371)
    [1]=>
    string(1) " "
    [2]=>
    int(2)
  }
  [3]=>
  string(1) "="
  [4]=>
  array(3) {
    [0]=>
    int(371)
    [1]=>
    string(1) " "
    [2]=>
    int(2)
  }
  [5]=>
  array(3) {
    [0]=>
    int(372)
    [1]=>
    string(10) "<<<'TEXT'
"
    [2]=>
    int(2)
  }
}
```

Commits
-------

2f85f17 Fixed tests on HHVM
UnusedUse - rewrite to use Tokens and fix issues #217, #317, #353