func Symlink(old, new string) Operation {
	return Operation{code: opSymlink, name: new, arg: old}
}
Symlink returns a new symlink operation. new is a slash-separated
path relative to the Dir. old is a slash-separated path relative to new.
package filesystem
import (
	"fmt"
	"io"
	"io/ioutil"
	"os"
	"path/filepath"
	"strings"
)
type Operation struct {
	code opCode
	name string
	arg  string
}
func Write(name, content string) Operation {
	return Operation{code: opWrite, name: name, arg: content}
}
func Mkdir(name string) Operation {
	return Operation{code: opMkdir, name: name}
}
func Remove(name string) Operation {
	return Operation{code: opRemove, name: name}
}
func Rename(old, new string) Operation {
	return Operation{code: opRename, name: new, arg: old}
}