Refs #6078, extract factory logic from Report::factory and move to new ComponentFactory utility class and reuse in Dimension to allow creating Dimension instances by human readable string IDs.
Merge pull request #6221 from piwik/component_factory

Refs #6078, extract factory logic from Report::factory and move to ComponentFactory utility class. Also reuse in Dimension to allow creating Dimension instances by human readable string IDs.