Adding etag support vs. solitude (bug 901961)

Depends on https://github.com/andymckay/curling/pull/4 (still in progress)

For the moment, etags are passed explicitly in methods' definition but once validated it could be more interesting to retrieve it directly from the buyer object fetched within the method and thus limit extra-queries.

This first iteration doesn't use etags at the view level because I'm not sure of the behavior for the user experience in case of conflict/race condition. To be discussed.