rearrange / simplify RGWBucket::link logic - start bucket move support
The existing RGWBucket::link logic changed things incrementally in
order to relink a bucket. When doing a "bucket move", this is no longer
a good idea - bucket objects must be written to new names which don't
exist, so it is better to create then wholly out of in-memory data.
Also, add != for rgw_bucket - inverse of existing of ==, provides
another option to arrange code to make it more readable.
Fixes: http://tracker.ceph.com/issues/35885 Signed-off-by: Marcus Watts <mwatts@redhat.com>