Add comments (DocBlock), Strong type,  Exception etc...

Hi,

I've made a lot of change, i try to enumerate them and why.

- Add comment in all DTO, and API etc.. My problem was that i dont know which type would be return be in all methods.
- Add Typed Exception in case of the request was not correct, to able to catch it !
- Add a Filter Object. Same problem as the comment, i wasn't able to know what i can filter.
- Add code coverage support with "scrutinize-ci"
- Pass the test with PhpSpec version 2. The version of PhpSpec has been released so i migrate the spec.
- Change the class name of "Packagist\Api\Client" by "Packagist\PackagistApiClient". it's painful to be forced to alias. "Client" is very general.
- Add a Factory to "Packagist\PackagistApiClient", the Object is created with all is dependencies, he is not forced to create them at run time and you can add dependencies without breaking client interface.

I think that's it.

Thanks for your work.
Best Regards
No, they should be separated if they have docblocks, e.g. https://github.com/symfony/symfony/blob/master/src%2FSymfony%2FComponent%2FForm%2FAbstractExtension.php#L26