func NewTaskChain(dtasks Dogtasks, task string) (taskChain TaskChain, err error) {
	err = taskChain.generate(dtasks, task)
	if err != nil {
		return
	}
	return
}
NewTaskChain creates the task chain for a specific dogfile and task.
package dog
import (
	"bytes"
	"errors"
	"fmt"
	"io"
	"os/exec"
	"strings"
	"syscall"
	"time"
	"github.com/dogtools/dog/run"
)
var ProvideExtraInfo bool
var ErrCycleInTaskChain = errors.New("TaskChain includes a cycle of tasks")
type TaskChain struct {
	Tasks []Task
}