hal : Send drain to the driver if next track returns error

-Partial drain is send to the driver after next track ioctl.
-If next track times out or returns any error then call drain.
-Partial drain will not  be executed if next track fails.

CRs-Fixed: 594977
Change-Id: I0665f21a5ea01f7776408b5155344f542021c299
hal: Reduce the deep buffer period count.

-Deep buffer period count in the driver is 8. This adds to latency
 of 160ms. This also results in the common block to have 8 buffers.
-The total latency used for AV sync is 320ms. AV sync issues are
 seen due to this big latency
-Reduce the deep buffer cound from 8 to 4. This would reduce the
 latency.

CRs-Fixed: 598792
Change-Id: I1c057ee9d7c8a8cb747661e3dc62c9f44bf9ee79