Make the shell script registering the heat domain more solid

Make sure to unset variable before calling "openstack -f shell" to set
a variable, to make sure we don't get some old value.

When we fail to get the domain ID, we stop the script earlier (and
fail).

Do not try to create a heat_domain_admin user if it already exists (in
the right domain). Instead, just ensure it has the right password.

In case there are multiple heat_domain_admin users among all domains,
the old script was failing to assign the admin role to the user in the
domain. Instead, use the user id instead of the user name to do this.