packaging: setup: add constants list to the engine

The current implementation saves to answerfile and
postinstall file only values appearing in constants.py
and matching certain criteria, ignoring any additional
constants files existing.

The new implementation brings a new structure that holds
all constants objects, and updates the answerfile/postinstallfile
implementations to work on all elements of this structure.

To use the new method, a 3rd party plugin bringing its own
constants file should add its object to environment variable
osetupcons.CoreEnv.SETUP_ATTRS_MODULES dict.

For example, for additional constants_add.py, we do:

import constants_add as constadd
self.environment[
    osetupcons.CoreEnv.SETUP_ATTRS_MODULES
].append(constadd)

Change-Id: I6c919ed564003ed93300a84fc9072443eb865cf0
Bug-Url: https://bugzilla.redhat.com/1013790
Signed-off-by: Alex Lourie <alourie@redhat.com>
(cherry picked from commit 63558007f1955f48912a73c7758e90c2cc4fec03)
(cherry picked from commit d636638fe16bc68fc149ff4d43d44f78ba1c9bf0)