split platform definitions out of mk/platform.mk

The goal here is to make it easier to add new platform definitions,
especially when the additions are programmatic (ie: in build scripts).
auto merge of #18192 : jmesmon/rust/platform-generic, r=alexcrichton

The goal here is to make it easier to add new platform definitions,
especially when the additions are programmatic (ie: in build scripts).