Improve activation message (#562)

* Improve activation message

The activation message is now IMHO more informative and
actionable:

```
$ emsdk activate latest
Setting the following tools as active:
   node-12.18.1-64bit
   releases-upstream-e7e39da9c81faecd9ecf44065cee864d76e4e34d-64bit

Next steps:
- To conveniently access emsdk tools from the command line,
  consider adding the following directories to your PATH:
    $HOME/wasm/emsdk
    $HOME/wasm/emsdk/node/12.18.1_64bit/bin
    $HOME/wasm/emsdk/upstream/emscripten
- This can be done for the current shell by running:
    source "$HOME/wasm/emsdk/emsdk_env.sh"
- Configure emsdk in your bash profile by running:
    echo 'source "$HOME/wasm/emsdk/emsdk_env.sh"' >> $HOME/.bash_profile
```

* .
diff --git a/emsdk.py b/emsdk.py
index 1186a96..f3ab07d 100755
--- a/emsdk.py
+++ b/emsdk.py
@@ -1460,10 +1460,8 @@
 
   cfg = cfg.replace("'" + emsdk_path(), "emsdk_path + '")
 
-  print('Writing configuration file: ' + dot_emscripten_path())
   if os.path.exists(dot_emscripten_path()):
     backup_path = dot_emscripten_path() + ".old"
-    print("Backing up old Emscripten configuration file in " + os.path.normpath(backup_path))
     move_with_overwrite(dot_emscripten_path(), backup_path)
 
   with open(dot_emscripten_path(), "w") as text_file:
@@ -1472,20 +1470,18 @@
   # Clear old emscripten content.
   rmfile(os.path.join(emsdk_path(), ".emscripten_sanity"))
 
-  print("Configuration file contents:")
-  print('')
-  print(cfg.strip())
-  print('')
-
   path_add = get_required_path(active_tools)
   if not WINDOWS:
-    emsdk_env = os.path.relpath(sdk_path('emsdk_env.sh'))
-    if '/' not in emsdk_env:
-      emsdk_env = './emsdk_env.sh'
-    print("To conveniently access the selected set of tools from the command line, consider adding the following directories to PATH.")
-    print("Or call 'source " + emsdk_env + "' to do this for you. (Add these in your bashrc or other startup scripts to have these permanently available)")
-    print('')
-    print('   ' + ENVPATH_SEPARATOR.join(path_add))
+    emsdk_env = sdk_path('emsdk_env.sh')
+    print('Next steps:')
+    print('- To conveniently access emsdk tools from the command line,')
+    print('  consider adding the following directories to your PATH:')
+    for p in path_add:
+      print('    ' + p)
+    print('- This can be done for the current shell by running:')
+    print('    source "%s"' % emsdk_env)
+    print('- Configure emsdk in your bash profile by running:')
+    print('    echo \'source "%s"\' >> $HOME/.bash_profile' % emsdk_env)
 
 
 def find_msbuild_dir():
@@ -2461,6 +2457,11 @@
 def set_active_tools(tools_to_activate, permanently_activate):
   tools_to_activate = process_tool_list(tools_to_activate, log_errors=True)
 
+  if tools_to_activate:
+    tools = [x for x in tools_to_activate if not x.is_sdk]
+    print('Setting the following tools as active:\n   ' + '\n   '.join(map(lambda x: str(x), tools)))
+    print('')
+
   generate_dot_emscripten(tools_to_activate)
 
   copy_pregenerated_cache(tools_to_activate)
@@ -2485,10 +2486,6 @@
     if newpath != os.environ['PATH']:
       win_set_environment_variable('PATH', newpath, system=True)
 
-  if tools_to_activate:
-    tools = [x for x in tools_to_activate if not x.is_sdk]
-    print('\nSet the following tools as active:\n   ' + '\n   '.join(map(lambda x: str(x), tools)))
-    print('')
   return tools_to_activate
 
 
@@ -2614,15 +2611,9 @@
       value = to_native_path(tool.expand_vars(value))
       env_vars += [(key, value)]
 
-  # Don't set env vars which are already set to the correct value.
-  env_vars_to_add = []
-  for key, value in env_vars:
-    if key not in os.environ or to_unix_path(os.environ[key]) != to_unix_path(value):
-      env_vars_to_add.append((key, value))
-
-  if env_vars_to_add:
+  if env_vars:
     log_stderr('Setting environment variables:')
-    for key, value in env_vars_to_add:
+    for key, value in env_vars:
       if POWERSHELL:
         env_string += '$env:' + key + '="' + value + '"\n'
       elif CMD: