func MultiFileSystem(fs ...FileSystem) FileSystem {
	return multiFileSystem(fs)
}
MultiFileSystem implements FileSystem and wraps an ordered list of FileSystem
implementations. With each call to Open, the file systems are tried in turn until
one returns without error. If all return errors, then we pass the result back to
the caller.
package store
import (
	"net/http"
	"golang.org/x/net/context"
)
type multiFileSystem []FileSystem
func (mfs multiFileSystem) Open(ctx context.Context, name string) (http.File, error) {
	var err error
	var f http.File
	for _, fs := range mfs {
		f, err = fs.Open(ctx, name)
		if err == nil {
			return f, err
		}
	}
	return nil, err
}