Use a bounded result object (SerfResult) when returning responses

In the event that we want to do further work on a result it would be
cleaner to bound the response from a serf agent in an object that can
be consumed easily in the future.