Add `status` to Gradle module metadata This commit adds attributes to top level component in Gradle metadata. Attributes are written to Gradle metadata files, and when read, some attributes can be mapped to existing, legacy, properties of component metadata. This is the case for the "status" property, which is now mapped to a component attribute when serializing, and mapped back to the "status" property when reading.
This commit also introduces a test that makes sure that the status is actually read from the Gradle metadata file, by totally ignoring the Ivy descriptor.
Remove `FOR_COMPILE` and `FOR_RUNTIME` from Usage The constants had been replaced internally, except for publication. This commit removes them in favor of using the more specific `JAVA_API` and `JAVA_RUNTIME` constants (in their string forms, making it possible later to match by value, avoiding classloading issues).