Refactor the interactive evaluation API

  - There is now one API entry point - `cider-interactive-eval`. All other
    commands are based on it.

  - Simplify the code by removing unused or unnecessary API functions:
    `cider-interactive-eval-print`, `cider-popup-eval-print-handler`,
    `cider-popup-eval-print`, `cider-interactive-eval-to-repl`

  - Rename `cider-interactive-eval-print-handler` -> `cider-eval-print-handler`.

  - Bring all interactive eval functionality into one place and arrange
    functions in a logical order.

  - `buffer` argument to interactive eval handlers is optional
Use "(ns $repl-ns)" in dummy file when ns form not found

   This is useful in *scratch* buffers and files with no ns.

   Also enhance `cider-repl-set-ns` to interactively ask for the ns in buffers
   with no ns-form.