Cleaning up things

* Remove DocComment at the end of class files (As IDE-metadata they should be not part of the source files)
* file-level directly at the beginning of the file, class-level directly before the class (=> `namespace` and `use` in between)
* Fix DocComments (Note: Some IDEs understand the "<type>[]"-syntax for arrays. For compatibility I left
"array" as alternative)
* Change return type of getIterator(): 'ArrayObject' is oversized
* Change alternative return type of getEvent() from boolean to the more appropriate null
* Add missing properties in test classes
* Remove unnecessary property in testcase
* Refactor a "exception"-testcase (2 tests are currently skipped for now, because they didn't work properly before and now they fail. The reason is, that Filter::__construct() doesn't validate at all. Needs a deeper look)
* Some refactoring (Was there a reason, why the one value was urlencode()d and urldecode()d over and over again? :?)
* Refactored complex string into templates