Third round of IIO subsystem updates for the 3.8 cycle. Here we have a series of fixes to the adis16400 driver. These were part of a previous pull request for the 3.7 cycle but Greg suggested delaying them given their large and invasive nature and the fact they aren't fixing regressions (as the relevant code was never correct). The support added for the adis16334 missed a number of small differences between this and the parts supported. This series deals with those and also cleans up some related code.