[PSR-7] `@throws` annotations

- Added `@throws` annotations for all setters or methods accepting arguments that must be validated by implementors. In each case, `InvalidArgumentException` is specified.
- Made `@params`/`@return`/`@throws` order consistent, and removed empty lines between any such annotations for further consistency.
- Moved `@link` annotations before `@params` in all cases.

Based on a [mailing list thread](https://groups.google.com/d/msg/php-fig/H_NR7qctw-8/Rb1XFaDfY9sJ).