RunGoose runs the goose command with the provided arguments.
args should be the command and the arguments to pass to goose.
eg RunGoose(ctx, []string{"up", "-v"}, db).
baseFS should be the filesystem that holds versioned migration files.
This function is safe to run concurrently.