common/bl: document and slightly optimize ptr::release().
Before the patch GCC was generating:
```
10f9910: mov (%rdi),%rax
10f9913: test %rax,%rax
10f9916: je
10f9951 <ceph::buffer::v15_2_0::ptr::release()+0x41>
10f9918: mov 0x2c(%rax),%eax
10f991b: cmp $0x1,%eax
10f991e: jne
10f9940 <ceph::buffer::v15_2_0::ptr::release()+0x30>
10f9920: mov (%rdi),%rax
10f9923: movq $0x0,(%rdi)
10f992a: test %rax,%rax
10f992d: je
10f9958 <ceph::buffer::v15_2_0::ptr::release()+0x48>
10f992f: mov (%rax),%rdx
10f9932: mov %rax,%rdi
10f9935: mov 0x8(%rdx),%rdx
10f9939: jmpq *%rdx
10f993b: nopl 0x0(%rax,%rax,1)
10f9940: mov (%rdi),%rax
10f9943: lock subl $0x1,0x2c(%rax)
10f9948: je
10f9920 <ceph::buffer::v15_2_0::ptr::release()+0x10>
10f994a: movq $0x0,(%rdi)
10f9951: retq
10f9952: nopw 0x0(%rax,%rax,1)
10f9958: retq
10f9959: nop
10f995a: nopw 0x0(%rax,%rax,1)
```
after:
```
11209b0: mov (%rdi),%rax
11209b3: movq $0x0,(%rdi)
11209ba: test %rax,%rax
11209bd: je
11209e6 <ceph::buffer::v15_2_0::ptr::release()+0x36>
11209bf: mov 0x2c(%rax),%edx
11209c2: lea 0x2c(%rax),%rcx
11209c6: cmp $0x1,%edx
11209c9: jne
11209e0 <ceph::buffer::v15_2_0::ptr::release()+0x30>
11209cb: mov (%rax),%rdx
11209ce: mov %rax,%rdi
11209d1: mov 0x8(%rdx),%rdx
11209d5: jmpq *%rdx
11209d7: nopw 0x0(%rax,%rax,1)
11209de:
11209e0: lock subl $0x1,(%rcx)
11209e4: je
11209cb <ceph::buffer::v15_2_0::ptr::release()+0x1b>
11209e6: retq
```
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>