Fix phpdoc

Fixes:
- Missing definitions of arguments
- Invalid typeint
- Missing definitions of exceptions thrown
- Missing definitions of returns
it is catched an rethrown. So the exact exception being thrown depends on what is thrown in the called code.

and contrary to Java, we generally don't bubble the ``@throws`` on methods based on what the called code is throwing.

To be honest, I don't even think documenting all ``@throws`` in the phpdoc makes sense. It makes sense for recoverable errors, but not for non-recoverable ones (Java has a distinction between 2 types of exceptions for instance, even if some exceptions thrown in libraries may be more logical by using a different category)