elpy-rpc-open: Do not create spurious amounts of dead RPC buffers.

In certain error conditions, elpy could spawn a number of RPC buffers,
all with dead processes. This change makes it so that elpy removes
dead RPC buffers before trying to get a new one, which should mean
less of a proliferation of dead buffers in error situations.
elpy-shell-send-region-or-buffer: Ensure the process buffer exists.

Before, the call to `python-shell-send-region`/`-buffer` would create
a process if none existed before. If the user created a dedicated
process, the call to `elpy-shell-switch-to-shell` would then create a
second, non-dedicated, process and switch there. The function now
ensures that a process exists before sending any code.

Fixes #108.