OS X: Use 'uname -m' for processor (#14712)

In commit 2412d9bc (Use 'uname -m' for processor on Cygwin, 2010-09-21)
it was pointed out that POSIX requires 'uname -m' but not 'uname -p':

  http://www.opengroup.org/onlinepubs/9699919799/utilities/uname.html

On OS X x86_64, 'uname -p' returns i386 while 'uname -m' returns x86_64.
Since the latter is the POSIX-compliant option trust its value.
However, on OS X ppc, 'uname -m' returns 'Power Macintosh' so add a
special-case to convert that to 'powerpc'.
Tests/RunCMake: Move documentation to a README.rst
Tests/RunCMake: Add function to run a specified command-line

Add a 'run_cmake_command' function that can be used by tests to run a
given command-line and check the results rather than always running a
CMake configuration process.  This can be used in the future to test
'cmake -E' for example.
cmake: Improve '-E create_symlink' edge case handling (#14713)

The logic added by commit ffc0b5e4 (Overwrite the symlink if it already
exists, 2007-02-15) does not recognize and remove existing broken links
before replacing them.  Improve the logic to remove any existing
destination file or link (but not directory).  On failure, report an
error message explaining why the existing path could not be removed or
the new one could not be created.

Add a RunCMake.CommandLine test to cover 'cmake -E' cases.  Start with
test cases covering 'cmake -E create_symlink' behavior on UNIX platforms.
Merge topic 'osx-host-arch'

9d2a0900 OS X: Use 'uname -m' for processor (#14712)
Merge topic 'improve-Tests-RunCMake'

d4ca30ae Tests/RunCMake: Add function to run a specified command-line
392a6553 Tests/RunCMake: Move documentation to a README.rst
Merge topic 'cmake-E-symlink-replace-dangling'

e0228e2b cmake: Improve '-E create_symlink' edge case handling (#14713)