hide annotation with tests

Added @hide annotation. 
@hide takes up to one argument. 
If there's no argument @hide will always hide the annotated plugin's API. 
If the argument is set then there is a API.DocumentGenerator.hide event dispatched. 
The event should be handled in the plugin and it should set the &$response to true if the plugin API should be hidden from the current user or false if the user should be able to see the plugin API.
As discussed with @mgazdzik - this PR should be more generic and flexible. Creating custom hook in this place gives us the ability to easily define our custom annotation and their behavior. As long this is core feature, not specific plugin we should look at this problem with wider perspective. Creating hard coded solutions in core is bad approach in Piwik architecture and we should avoid this.