Fix several Setstat typos in request-server

Added a test that breaks w/ old code which has typos but is fixed with
typos fixed. Also added switch-default error message that would have
helped diagnose this (should have been there already).
diff --git a/request-example.go b/request-example.go
index 0cb4616..ae7bba4 100644
--- a/request-example.go
+++ b/request-example.go
@@ -62,7 +62,7 @@
 	fs.filesLock.Lock()
 	defer fs.filesLock.Unlock()
 	switch r.Method {
-	case "SetStat":
+	case "Setstat":
 		return nil
 	case "Rename":
 		file, err := fs.fetch(r.Filepath)
diff --git a/request-server_test.go b/request-server_test.go
index 643d05a..dc8501c 100644
--- a/request-server_test.go
+++ b/request-server_test.go
@@ -241,6 +241,24 @@
 	assert.NoError(t, testOsSys(fi.Sys()))
 }
 
+// NOTE: Setstat is a noop in the request server tests, but we want to test
+// that is does nothing without crapping out.
+func TestRequestSetstat(t *testing.T) {
+	p := clientRequestServerPair(t)
+	defer p.Close()
+	_, err := putTestFile(p.cli, "/foo", "hello")
+	assert.Nil(t, err)
+	mode := os.FileMode(0644)
+	err = p.cli.Chmod("/foo", mode)
+	assert.Nil(t, err)
+	fi, err := p.cli.Stat("/foo")
+	assert.Nil(t, err)
+	assert.Equal(t, fi.Name(), "foo")
+	assert.Equal(t, fi.Size(), int64(5))
+	assert.Equal(t, fi.Mode(), os.FileMode(0644))
+	assert.NoError(t, testOsSys(fi.Sys()))
+}
+
 func TestRequestStatFail(t *testing.T) {
 	p := clientRequestServerPair(t)
 	defer p.Close()
diff --git a/request.go b/request.go
index 8a1855e..7196f05 100644
--- a/request.go
+++ b/request.go
@@ -13,7 +13,7 @@
 
 // Request contains the data and state for the incoming service request.
 type Request struct {
-	// Get, Put, SetStat, Stat, Rename, Remove
+	// Get, Put, Setstat, Stat, Rename, Remove
 	// Rmdir, Mkdir, List, Readlink, Symlink
 	Method   string
 	Filepath string
@@ -128,10 +128,12 @@
 		rpkt, err = fileget(handlers.FileGet, r)
 	case "Put": // add "Append" to this to handle append only file writes
 		rpkt, err = fileput(handlers.FilePut, r)
-	case "SetStat", "Rename", "Rmdir", "Mkdir", "Symlink", "Remove":
+	case "Setstat", "Rename", "Rmdir", "Mkdir", "Symlink", "Remove":
 		rpkt, err = filecmd(handlers.FileCmd, r)
 	case "List", "Stat", "Readlink":
 		rpkt, err = fileinfo(handlers.FileInfo, r)
+	default:
+		return rpkt, errors.Errorf("unexpected method: %s", r.Method)
 	}
 	return rpkt, err
 }