'Initiates a multipart upload to S3
:param container: The destination container
:type container: :class:`Container`
:param object_name: The name of the object which we are uploading
:type object_name: ``str``
:keyword headers: Additional headers to send with the request
:type headers: ``dict``
:return: The id of the newly created multipart upload
:rtype: ``str``'

def _initiate_multipart(self, container, object_name, headers=None):

    headers = (headers or {})
    request_path = self._get_object_path(container, object_name)
    params = {'uploads': ''}
    response = self.connection.request(request_path, method='POST', headers=headers, params=params)
    if (response.status != httplib.OK):
        raise LibcloudError('Error    initiating    multipart    upload', driver=self)
    return findtext(element=response.object, xpath='UploadId', namespace=self.namespace)
