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