Some fixes in StaticPropertyAccess

1. Fix `private` visibility checking
2. Add `protected` visibility checking
3. Why we always `fetch` static property? It works much better if we do it like in `PropertyAccess` class (read or fetch)
4. Adding support for magic methods `__call` and `__callStatic`
5. Adding method `isProtected` to `ClassMethod`