Added Lines Before Namespace Fixers

NoBlankLinesBeforeNamespaceFixer is a contrib level fixer, and OneBlankLinesBeforeNamespaceFixer is a symfony level fixer. This also includes some utils refactoring and improvements.
Ow wait a second, whitespace token after php open tag is different.

open tag here:
`<?php echo ALPHA; ?>`
translates to 
```
$tokens[0]->getContent() === '<?php' 
$tokens[1]->getContent() === 'echo' 
open tag here:
```

```
<?php
echo ALPHA; 
```
translates to 
```
$tokens[0]->getContent() === '<?php' 
$tokens[1]->getContent() === '  '
$tokens[2]->getContent() === 'echo'
```

using countLines on first whitespace token is not correct.
Also im not sure if countLines() implementation is correct, count() the result of splitLines() should have the same number as countLines() which i think it does not in all cases.