cmTarget: Declare classes before making them friends

Declare cmGeneratorTarget and cmTargetTraceDependencies in cmTarget.h
before making them friends of cmTarget.
cmTarget: Workaround Borland Internal Compiler Error

Declare cmTarget::SourceEntry and SourceEntriesType earlier in the
private section.  For some reason Borland 5.5 crashes otherwise.
Merge topic 'use-generator-target' into next

3d7ff74 cmTarget: Workaround Borland Internal Compiler Error
5198f1f cmTarget: Declare classes before making them friends