obj: introduce PMEMptr type

Introduce PMEMptr type just to distinguish PMEM pointers
from integer values.
obj: change void* to PMEMptr in alloc and free
obj: make data buffer persistent
obj: fix logging alloc

The alloc operation should be logged before allocating memory.