Simplify diameter_util
Simplify diameter_util

map_size/1 has existed since OTP 17.0 and is_map_key/2 since OTP 21.0:
use them to simplify some mechanics. Simplify more as well, and add
choose/1, tmpdir/0, and mktemp/1; the latter two for running suites that
need a temporary directory without common_test. Ensure run/1 doesn't
orphan any temporary processes when it returns.

runtime_dependencies in the appfile states erts-10.0, which corresponds
to OTP 21.0, so there is no new dependency.

vinoski/otp,erlang/otp,erlang/otp,vinoski/otp,jj1bdx/otp,erlang/otp,g-andrade/otp,bjorng/otp,rlipscombe/otp,jj1bdx/otp,rlipscombe/otp,vinoski/otp,vinoski/otp,potatosalad/otp,mikpe/otp,bjorng/otp,jj1bdx/otp,mikpe/otp,bjorng/otp,jj1bdx/otp,vinoski/otp,isvilen/otp,dgud/otp,erlang/otp,potatosalad/otp,potatosalad/otp,jj1bdx/otp,jj1bdx/otp,jj1bdx/otp,dumbbell/otp,emacsmirror/erlang,bjorng/otp,dgud/otp,bjorng/otp,bjorng/otp,mikpe/otp,vinoski/otp,isvilen/otp,isvilen/otp,dumbbell/otp,g-andrade/otp,rlipscombe/otp,mikpe/otp,dumbbell/otp,rlipscombe/otp,dgud/otp,emacsmirror/erlang,dgud/otp,vinoski/otp,potatosalad/otp,potatosalad/otp,bjorng/otp,mikpe/otp,g-andrade/otp,rlipscombe/otp,emacsmirror/erlang,emacsmirror/erlang,erlang/otp,dgud/otp,g-andrade/otp,dumbbell/otp,dgud/otp,potatosalad/otp,vinoski/otp,dgud/otp,bjorng/otp,dgud/otp,vinoski/otp,emacsmirror/erlang,g-andrade/otp,emacsmirror/erlang,isvilen/otp,g-andrade/otp,bjorng/otp,emacsmirror/erlang,mikpe/otp,mikpe/otp,g-andrade/otp,isvilen/otp,potatosalad/otp,emacsmirror/erlang,potatosalad/otp,vinoski/otp,g-andrade/otp,dumbbell/otp,rlipscombe/otp,isvilen/otp,isvilen/otp,bjorng/otp,erlang/otp,jj1bdx/otp,dumbbell/otp,g-andrade/otp,potatosalad/otp,emacsmirror/erlang,mikpe/otp,rlipscombe/otp,mikpe/otp,dgud/otp,dumbbell/otp,isvilen/otp,dgud/otp,erlang/otp,rlipscombe/otp,dumbbell/otp,emacsmirror/erlang,potatosalad/otp,isvilen/otp,erlang/otp,isvilen/otp,mikpe/otp,jj1bdx/otp,g-andrade/otp,erlang/otp,rlipscombe/otp,rlipscombe/otp,dumbbell/otp,jj1bdx/otp,dumbbell/otp,erlang/otp