cmLocalGenerator: Add ComputeObjectFilenames method.
cmGeneratorTarget: Compute target objects on demand

Add a ComputeTargetObjects method to compute the object
names.  It takes a non-const reference to a mapping so
that it can be extended in the future with parameters
relevant to generator expression evaluation.

Remove the old method from the generators which are now all
functionally identical.

Remove the supporting cmGeneratorTarget::AddObject method. It is
no longer needed as the container member is populated directly.

In a follow-up, the UseObjectLibraries usage may be replaced by a
true generator expression evaluator for TARGET_OBJECTS. That
will require generators to use cmGeneratorTarget::GetExternalObjects
which is not currently the case for Xcode and VS generators.
Merge topic 'target-objects-refactor' into next

f7cf3b48 cmGeneratorTarget: Compute target objects on demand
fb5bc126 cmLocalGenerator: Add ComputeObjectFilenames method.