Add universal binding to switch to repl and back

As implementation details, this adds 3 functions:

- 1 private function to switch to an haskell repl (delegating
  to existing interactive-haskell-switch).

- 1 private function to switch back to the buffer from where we came
  from.

- 1 public function to provide the same interface which will be bound to
  bindings (this dispatches to the other 2 functions depending on the
  major mode)

The default bindings used are: C-c C-b/C-c C-z.
I kept the same logic about the same function applied to those 2 bindings.

This was added to the 2 main mode map (haskell-interactive-mode-map
 and interactive-haskell-mode-map).

*Note*
I do not know the subtlety of the notation "[?C-c...]" so I kept them as
is.