rocker: Implement DMA API

Implements the Rocker switch DMA engine emulation.  This patch adds backing
storage for the dma descriptor rings and maps them to rocker_dma_ring
structures, which the DMA engine can then traverse and populate.  This patch
also preforms some re-organization to the header files to expose needed
structures accross multiple files in the rocker driver.  Lastly it updates the
spec so that we only use a single dma ring for requests and completion, rather
than 2 separate rings.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: Scott Feldman <sfeldma@cumulusnetworks.com>
CC: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Scott Feldman <sfeldma@cumulusnetworks.com>