build-support/rust/lib: make arch and os functions respect target JSON
(cherry picked from commit 39811b1da9fb1c97c65ff09dd27dc3a68e6d4e65)
(cherry picked from commit b49c1ce29f34a503a9e11038a156729ad7bf1fde)
(cherry picked from commit 38d5ec716adf140532889312445a0c889a281b0e)