core: Intrdoucing UploadStream capabillity

The following patch adds UploadStreamCommand/UploadStreamVDSCommand to
allow streaming data to vdsm using HTTP.
Opposed to regular vdsm verbs that usually have very short sync part,
the whole upload needs to be executed in the sync part of the execution
in order to stream the whole request body.
This operations is a spm operation on the vdsm side, which means that
we'll need to execute a spm command with a possibly long sync part
(depends on the length of the passed stream) - which is a issue as
currently each spm command executed by the engine takes an exclusive spm
lock, executes it's short sync part (usually creates task) and return.

Therefore, in this patch a support for executing multiple spm commands
at the same time had to be added (we don't want to perform the whole
upload under the exclusive spm lock).

What was done in this patch with use of the LockManager - add a "VDS_EXECUTION"
lock type to the and acquire it as shared when uploading stream and as exclusive
when stopping the spm while not preventing other spm commands to run
meanwhile.
Another way to implement this is to add ReadWriteLock to IrsBrokerCommand,
which i have implemented locally - according to the reviews i'll
choose in which path to go.

Currently there is no task created on vdsm side, so task create parts
are commented out and will be deleted completly as soon as the vdsm
patch will be merged with it's current implementation.

Change-Id: I7af6e7b580e8844c1f0cd661d7f62ece688e31d3
Signed-off-by: Liron Aravot <laravot@redhat.com>