Processing header information on Watch responses

During testing of Watch functionality, I realized that the headers (e.g., X-Etcd-Index) aren't being populated on the EtcdResponse passed to the followUp action. I'm not sure of the possible benefits of using X-Etcd-Index instead of response.Node.ModifiedIndex, but it strikes me as a good idea to include the information regardless. This commit consolidates the response processing so that both synchronous and asynchronous responses are treated the same. It didn't add any tests as I see it conflicts a bit with your exception work, but I'd like to propose it nonetheless. Thanks!