[PHP7] Add support for package private class, trait and interface

Consumes PR #931 

TBD together with RFC
There're 4 possible visibility modifiers for classes: public, protected, package-private and private.
Unfortunately, only 2 apply to top-level classes. The others are only applied to nested classes, which PHP does not support.
I took the approach to reuse a reserved keyword `private` to implement package-private support, mainly because PHP is... PHP. There's no keyword for package-private, that's the default visibility in other languages.
Package-private means a given class can only be instantiated inside of its same namespace. Public classes can be instantiated anywhere in the code. I was forced to make this default in PHP to keep BC, which brought me the decision on how to classify package-private. I used private because there's no other semantical meaning when talking about top-level classes.

This article gives a bit more explanation about class visibility: http://javarevisited.blogspot.ca/2014/09/why-you-should-control-visibility-of-class-interface-java.html