General type hint cleanup

* Remove unnecessary `is_object` checks, `instanceof` is enough.
* Add some missing type hints.
* Fix some `Snaks` type hints (not 100% sure about this, please have a look).
* Unify usage of `bool`.
* Add missing newlines at end of file.
Yes. Just tested it again to be sure. [Manual](http://php.net/manual/en/language.operators.type.php) says: "instanceof does not throw any error if the variable being tested is not an object, it simply returns FALSE. Constants, however, are not allowed."