Small refactoring in Executor.

- Reduce the scope of some code only relevant to one respective
function.
- Introduce small functions for identifiable tasks.
As a result, the top-level build function becomes less cluttered and it
is easier to grasp what is going on.

Change-Id: I4a12ad0f3f94211630460d4e51cd0bdfec3c4166
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Fix handling additionalProductFileTags

Rules that produce additionalProductFileTags added to the rule graph,
but they are not reachable from the product.
'additionalProductFileTags' declared deprecated in product scope, because
it's enough to use 'Product.type' property, as it can hold the list of
file tags). 'Module.additionalProductFileTags' property renamed to
'additionalProductTypes' as it's more appropriate name.

Change-Id: I6e55199162b29dace5bbbad7e2c9eda46f47f424
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>