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
Handle session timeout in the VMware store

The current implementation can lead to session timeouts. This
will occur when accessing the datastore directly through HTTP.

This patch provides a retry mechanism by recreating the session
when getting a 401 status code.

Change-Id: I54cc9e30c9bc374a2cf82dec4beb9b06594835f8
Closes-Bug: #1311960

Conflicts:

	glance/store/vmware_datastore.py