improve OrderUseStatementsFixer parsing logic

|Q            |A   |
|---          |--- |
|Bug Fix?     |yes |
|New Feature? |n   |
|BC Breaks?   |n   |
|Deprecations?|n   |
|Tests Pass?  |yes |
|Fixed Tickets|#499|
|License      |MIT |

- Sort only the actual namespaces and not complete lines
- Detect traits correctly
- Preserve original white space

Todo:

- [x] Resolve Tokens cache bug
- [x] Add some tests with multiple namespaces 
- [x] Fix comments being moved to the wrong position
                    
Sent using [Gush](https://github.com/gushphp/gush)
10 wrz 2014 08:50 "Sebastiaan Stok" <notifications@github.com> napisał(a):
>
> In Symfony/CS/Fixer/Contrib/OrderedUseFixer.php:
>
> >
> > -        $unorderedLines = $this->findLines($allLines, $tokens);
> > -        if (count($unorderedLines)) {
> > -            $lineOrder = $this->getNewOrder($unorderedLines);
> > +        $namespaces = $tokens->getNamespaceUseIndexes(true);
>
> So use $namespacesImports then?

Good for me ;)