func NewFutureFromResponse(resp *http.Response) (Future, error) {
	pt, err := createPollingTracker(resp)
	if err != nil {
		return Future{}, err
	}
	return Future{pt: pt}, nil
}
NewFutureFromResponse returns a new Future object initialized
with the initial response from an asynchronous operation.
package azure
import (
	"bytes"
	"context"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
	"net/url"
	"strings"
	"time"
	"github.com/Azure/go-autorest/autorest"
)
const (
	headerAsyncOperation = "Azure-AsyncOperation"
)
const (
	operationInProgress string = "InProgress"
	operationCanceled   string = "Canceled"
	operationFailed     string = "Failed"
	operationSucceeded  string = "Succeeded"
)
var pollingCodes = [...]int{http.StatusNoContent, http.StatusAccepted, http.StatusCreated, http.StatusOK}
type Future struct {
	req *http.Request  
	pt  pollingTracker
}
func NewFuture(req *http.Request) Future {
	return Future{req: req}
}