Use Chunked transfer encoding in the VMware store

Nova needs to upload streamOptimized disks to Glance. These
streamOptimized disks are converted/compressed on the fly by
vCenter. Consequently, it is not possible to know the size of
the Glance image before upload. Without specifying the size
or size zero, vCenter will reject the request (Broken Pipe).

This patch adds the Chunked transfer encoding which allows
to not specify a Content-Length header.

Change-Id: I579084460e7f61ab4042632d17ec0f045fa6f5af
Closes-Bug: #1313992
Merge "Use Chunked transfer encoding in the VMware store"
Introduces eventlet executor for Glance Tasks

A sample import script to successfully import image for filesystem
based backend store is introduced as well.

Also, the following changes are introduced:-
1. An interface for implementing any other type of executor.
2. Provides namespace for keeping Tasks scripts.
3. A config for choosing deployer specific executor.
4. An interface for writing Tasks scripts.
5. A module for common script related methods.
6. Logic for limiting number of simultaneous tasks execution on the
Glance API server.

partially implements bp async-glance-workers

Change-Id: I382472fffd0fdad43573e72b2e78a9a6ed1e1f1a