Local backend: Align the buffers when reading/writing multiple attrs

Otherwise, SIGBUS will occur on some architectures when reading or
writing to an un-aligned address (and it's a very bad idea to do so in
general).

Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>
Added API functions iio_device_[debug_]attr_[read|write]_all

Those functions are especially useful when used with the network backend
of the library, as the values of all the parameters are read or written
in one single call to the server, which is much faster.

Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>
Added API functions iio_channel_attr_[read|write]_all

Those functions are especially useful when used with the network backend
of the library, as the values of all the parameters are read or written
in one single call to the server, which is much faster.

Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>
Network backend: Fix questionnable warning detected by Clang

Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>
C#: Added function IOBuffer.fill()

Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>
C#: Added functions Context.get_device() and Device.get_channel()

Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>