Redesigned DMA.

Split DMA into DMA{Read,Write}{Client,Server} and added DMA{Read,Write}Buffer.

Change-Id: I71c0b194ddd6a0294384ce6854aabc7dea99dfc1