Split build_requires and requires.

This will force installing permanently the modules required by the pm files.
Added Test::Exception to build_requires.
Added tests to make sure building submodule instances does not affect the main factory object.
Added prerequisites for the new build() tests.
Modified build() to instantiate submodules.

This prevents the creation of the submodule object from overriding the main
datadog factory object.