Implement allocateBuffer for BufferHubService

Return ALLOCATION_FAILED when failed to create BufferNode, NO_ERROR on
success.

Allocation and memory management logics are in BufferNode, and enforced
via the shared_ptr and clientList. Memcpy is used to convert between
AHardwareBuffer_Desc and HardwareBufferDescription (i.e. hidl_vec).

Test: BufferHubBuffer_test (passed)
Change-Id: I5e17aa7330c5f94656e62dc4bea8ab6c705ab7a4
Fix: 118614333
6 files changed