Support enforcing a platform using a direct dependency on the platform
Currently this _only_ sets a **force** flag on the platform dependency
transparently. There might be the need to do more in the future, in
particular as soon as we integrate with external platforms (BOMs) published
at coordinates representing different types of components (library and
platform).
There is a consequence in using a dependency, that is the published POM
file will be invalid for Maven consumers.
It's worth noting that in this context, "force" is stronger than a "force"
on a regular dependency: because it's a virtual platform, the engine will
make sure that the edged from the platform to its components are forced
too. In other words, the platform is forced **and** its components.
Note, however, that this is **NOT** true if the target platform is a
published component: in this case, the platform is forced, but the components
of the platform use the rules of the published platform. If the edges are
not forced, the component versions may be upgraded.