lsm303d/l3gd20: change filters to 50Hz analog on-chip filters

after discussion with Leonard these analog on-chip filters should be
at 50Hz
l3gd20: added retries to disable_i2c()
drv_hrt: added hrt_call_init() and hrt_call_delay() APIs

hrt_call_init() can be used to initialise (zero) a hrt_call structure
to ensure safe usage. The hrt_call_every() interface calls this
automatically.

hrt_call_delay() can be used to delay a current callout by the given
number of microseconds
px4fmu2: enable SPI sensor DRDY pins
lsm303d: use DRDY pins to automatically reschedule measurements

this prevents double reads of sensor data, and missing samples from
the accel
ms5611: change bus speed to 5MHz

this gives 5MHz SPI bus speed (by asking for 6MHz due to timer
granularity).

Tests with a logic analyser show that the ms5611 is actually more
reliable at 5MHz than lower speeds
ms5611: enabled debug()
ms5611: removed unused variable
ms5611: give cleaner SPI traces

this makes logic traces cleaner by zeroing extra bytes written
Made all usual suspects default to their custom names and only register the default name if its not already taken by someone else
Add also default descriptor for alternate sensors
lsm303d: dump I2C control registers in regdump
device: added register_class_devname() API

this allows drivers to register generic device names for a device
class, with automatic class instance handling
hmc5883: use register_class_devname()
l3gd20: use register_class_devname()
lsm303d: use register_class_devname()
mpu6000: use register_class_devname()
l3gd20: close fds before exit
lsm303d: close fds before exit
mpu6000: close fds before exit