func parseExtraArgs(args string) henchman.TaskVars {
	extraArgs := make(henchman.TaskVars)
	if args == "" {
		return extraArgs
	}
	for _, a := range strings.Split(args, " ") {
		kv := strings.Split(a, "=")
		extraArgs[kv[0]] = kv[1]
	}
	return extraArgs
}
Split args from the cli that are of the form,
"a=x b=y c=z" as a map of form { "a": "b", "b": "y", "c": "z" }
These plan arguments override the variables that may be defined
as part of the plan file.
package main
import (
	"flag"
	"fmt"
	"io/ioutil"
	"log"
	"os"
	"os/user"
	"path"
	"strings"
	"sync"
	"code.google.com/p/gopass"
	"github.com/sudharsh/henchman/henchman"
)
func currentUsername() *user.User {
	u, err := user.Current()
	if err != nil {
		log.Printf("Couldn't get current username: %s. Assuming root" + err.Error())
		u, err = user.Lookup("root")
		if err != nil {
			log.Print(err.Error())
		}
		return u
	}
	return u
}
func defaultKeyFile() string {
	u := currentUsername()
	return path.Join(u.HomeDir, ".ssh", "id_rsa")
}