buffer: Judge bufferlist whether need  rebuild

The function of rebuild() are:
a: return a contiguous ptr
b: if len % CEPH_PAGE_SIZE == 0, the return ptr must page aligned.

Before doing, it should check whether bufferlist alreay ok.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
i think the purpose here isn't to get a contiguous pointer, but to prevent a situation where there is a big contiguous buffer::raw somewhere and our bufferlist has a ptr that references a small piece of it.  In that case, even if it is contiguous, we want to copy + rebuild so that the other memory can be freed.