func NewBootstrap(cmdCandidates [][]string, currentWorkingDir string) *Bootstrap {
	var orderedLookupBootstrapPaths []string
	for _, args := range cmdCandidates {
		if len(args) != 0 {
			orderedLookupBootstrapPaths = append(orderedLookupBootstrapPaths, args[0])
		}
	}
	if currentWorkingDir == "" {
		currentWorkingDir = "/"
	}
	return &Bootstrap{
		orderedLookupPaths: orderedLookupBootstrapPaths,
		workingDir:         currentWorkingDir,
		cmdCandidates:      cmdCandidates,
	}
}
NewBootstrap returns an instance of bootstrap defined by given params
package rapidcore
import (
	"fmt"
	"os"
	"path/filepath"
	"go.amzn.com/lambda/fatalerror"
	"go.amzn.com/lambda/logging"
	"go.amzn.com/lambda/rapid"
	log "github.com/sirupsen/logrus"
)
type LogFormatter func(error) string
type BootstrapError func() (fatalerror.ErrorType, LogFormatter)
type Bootstrap struct {
	orderedLookupPaths []string
	validCmd           []string
	workingDir         string
	cmdCandidates      [][]string
	extraFiles         []*os.File
	bootstrapError     BootstrapError
}