Fix volsw_range functions so SOC_DOUBLE_R_RANGE_TLV works.

This is so that the correct rabge of values as specified
with the SOC_DOUBLE_R_RANGE_TLV macro are sent to the
hardware for both the normal and invert cases.
Use a range macro for Playback Volume.

This allows limiting the output gain to avoid clipping in the
DAC ouput stages.
fix soc-core's inverse range and let IQaudIO DAC use this fixed SOC_DOUBLE_R_RANGE_TLV support