rgw: return the update status on sync requests

Switch out ENOAPPLY to distinguish it from the new EAPPLIED (1 and 0),
then specify the RGWX_UPDATE_STATUS header based on that return code
when doing metadata puts. Assuming we don't error out prior to doing so,
return 204 NoContent rather than 200 (it's just a better match to the HTTP
specs).

Add a send_response() function to RGWOp_Metadata_Put in order to do support
sending back our new headers.

Signed-off-by: Greg Farnum <greg@inktank.com>
rgw: expose the version of synced items to the poster

To support this, we add an optional out argument to
RGWMetadatManager::put() and fill in the read_version. When the
function returns, that contains whatever the current on-disk version
of the object is (either what already existed or what we just wrote).

Signed-off-by: Greg Farnum <greg@inktank.com>