Automatic Namespace generation

Added static method to DefaultPluginManager class to generate automatically the namespaces array.

What do you think about wrap all this together in a ::create() method instead of passing these arguments (cache and namespaces) in every call. I know, we are breaking in that case the dependency injection, but in 90% of the cases, that will be the usage.
:+1: