3.0 - Better magic property hint baking

For controllers the table property is missing a leading namespace separator, and components do not have any namespace at all, and using the plugin syntax creates hints like `Plugin.Component $Plugin.Component`.

This patch attempts to implement some kind of resolving, where default locations are assumed, that is either `\App\Controller\Component`, `\Cake\Controller\Component`, or `\Plugin\Controller\Component`.
Is there any point in generating all this data if it is never used?