(CFACT-124) Refactor the processor resolver.

Refactoring the processor resolver so that a base type is responsible
for defining the fact and the child types are responsible only for
collecting data.

This commit also makes the processors structured fact consistent between
all platforms.