rgw: user quota should rely on cached info

user quota should rely on cached info if it says that we're at the
limit, since backend info might not be up to date.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
cls_user: header cleanup

put stats under a new struct

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
cls_user: keep time info about stats update

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
cls_user: op to keep track of sync completion time

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
radosgw-admin: update stats sync completion

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
radosgw-admin: dump header when requested for user stats

header also contains sync timestamps, so we should dump it.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw, cls_user: fix bucket creation

There's a single op to create and update the user bucket info, however,
the cases differ a bit, as we only need to guard against ENOENT if we're
updating the info.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>