Revert "do we need to mess with ErrorActionPreference at all?"

This reverts commit 0faebedee9f6b91d1ab85960977223ddf8fd1b77.
use new cmdlet Exec to execute shell commands where a nonzero error level means failure; add CmdletBinding() to all functions
Merge branch 'exit-code'
implement EnsureDevtools and RInstall