etcdhttp: check method for every endpoint, add tests

what about `allowMethod(w, r.Method, []string{"GET", "PUT", "POST", "DELETE"})`?
it is a little confused to me that the second argument has the different meaning with all the followings.