DO NOT MERGE: Sensor multi HAL

Squashed commit of:

Move sensors multi HAL to libhardware

Added a SensorEventQueue, a circular buffer meant for reading with one thread
and polling a subhal with another. The writing thread gets access to pointers
in the internal buffer. This design avoids a memcpy on write when the multihal
fetches subhal events using poll().

Unit-tests include multithreaded reading and writing lots of events, in
random-sized chunks.

This is not used by the multihal yet. That will be a different CL.

MultiHal multithreaded polling

Tests SensorEventQueue I/O when the queue is full.
Reduced debug logging in multihal.

deactivated multihal logspam, made warnings warnings, left critical startup info

Removed unneeded linux/input.h includes, to fix Mac SDK build

Change-Id: I1e35508949df98a1acef7a4a2d012eea87b4a5eb
diff --git a/modules/Android.mk b/modules/Android.mk
index b2d5a2a..1935b11 100644
--- a/modules/Android.mk
+++ b/modules/Android.mk
@@ -1,3 +1,3 @@
 hardware_modules := gralloc hwcomposer audio nfc nfc-nci local_time \
-	power usbaudio audio_remote_submix camera consumerir
+	power usbaudio audio_remote_submix camera consumerir sensors
 include $(call all-named-subdir-makefiles,$(hardware_modules))