[PHP7] Added support for abstract final classes

Consumes the PR #911 

Abstract final classes are helpful in the case you are wrapping common functions that are static, but the common class itself cannot be instantiated. 
Currently, PHP developers' only resource is to create a final class with a private constructor, leading to untestable and error prone code.

For such, here is motivation:

* As "abstract", it cannot be instantiated
* As "final", it cannot be extended (such as visibility increase, behavior change, etc)
* There's no way of adding variables to a namespace. This would address this issue too