Properly terminate dedicated EPC instance

See #28
Implement server pool
Use GC instead of jedi:stop-dedicated-server-safe

It is possible that the server instance is used in another buffer.
Document jedi:start-dedicated-server
Update changelog
Add --venv-path to jediepcserver.py
Add more example to jedi:start-dedicated-server doc
Autoload jedi:start-dedicated-server
Check if jedi:epc is alive in jedi:get-epc
Add more documents
Fix jedi:server-pool--gc
Fix jedi:start-dedicated-server example
Simplify example setup in jedi:start-dedicated-server
Make `jedi:epc` buffer local

As server-pool manages the servers, there is no need to keep
"global" server.  The reason why not making `jedi:epc` buffer
local by default is to stop making a lot of server instances.
This is done by the server-pool now.

Now, The only thing you need to do to setup server per-buffer
is to do something like this in python-mode-hook::

  (set (make-local-variable 'jedi:server-command) ...)
  (set (make-local-variable 'jedi:server-args) ...)

There is no need to call `jedi:start-dedicated-server` in the
hook (it works as before, though).  Note that I can't make
these variable buffer local by default, because it will break
people's setting with `setq`'s.

Other possible way for per-buffer setup is to allow function
for these variables instead of list of strings.  Making `jedi:epc`
buffer local helps in this situation, too.
Fix: dedicated server can be created several times
Do the EPC-specific stuff right after epc:start-epc
Document per-project setup in jedi:server-args
Merge branch 'buffer-local-jedi-epc' into server-pool

Simplified how to setup per-buffer server.
Add tests for server pool
Rename local func: s/check/check-restart/g