Add abstract classes for command job based on Callable

This patch adds 2 abstract classes for command job.
Those implement Callable. So user can get command response
asynchronously using Future object.

It has possibility to have something issue if both Runnable
and Callable are implemented into one class. So implemented
as new class.

In addition:
* Replace some deprecated API for HttpClient to modern API.
* Add new command job support to GerritSendCommandQueue.