Copy by value all dma_cookie_t variables in xdma.c

Bug fix: the dma_cookie_t variables get produced and consumed directly
so no pointers are necessary. The use of the reference operator
substituted a memory address for the real dma_cookie_t value, thus
making the resultant use and the dma_cookie_t unknown.

The dma_cookie_t type is defined in the kernel header
<linux/dmaengine.h>. This header gets included in the xdma.c file above
the xdma.h inclusion to enable the type to be used in the xdma.h file.
Normally this include statement would be done inside the xdma.h header
itself, however, in this case it's not so as to enable xdma.h to be more
easily included in user space libraries/programs.
Update libxdma to use the new xdma header

This requires defining a dma_cookie_t type that is compatible to the real
<linux/dmaengine.h> type. The type is defined instead of including the
dmaengine header to free the user from having to install kernel headers on the
system, thus making the library easier to compile and install. The downside to
doing so is that dmaengine.h must always be monitored in case the definition of
dma_cookie_t is ever changed.
Merge branch 'dma-cookie'

Bug fix branch. The dma_cookie_t variables were being referenced and
their address were being substituted and used instead of the cookie
value.