Make cmake-help-command more helpful

This makes cmake-help-command behave more like other emacs help functions: it only uses one buffer (*CMake Help*) instead of producing a new buffer for each help command, provides auto-completion, and rejects invalid input outright.

cmake-command-run is lispified and cmake-get-topic is renamed to become cmake-get-command.

This time commit message naming should be more in line with CMake guidelines and the patches are against next instead of master.