Add custom Makefile for faster smoke-test rebuilds without spending time
in configure, autotools, document generation and/or rolling rpm packages.
Add multiple include protection to all header files.
Move function prototypes away from header files that included in the
Mass rename functions to have a prefix giving context for the function.
For the most part the prefix is derived from the name of the compilation
module containing the function.
Mass normalize indentation to four spaces in all source files.
Augment author lists on each source file based on git committers.
Remove "inline" attributes from not-really-inlineable functions.
Remove unused modules-android.c source file.
Define _GNU_SOURCE for whole build rather than in individual files.
Fix resource leaks here and there.
Try to avoid hard-coding android usb paths.
Add configfs backend for usb cadget configuration.
Probe supported backends (configfs, android usb, or kmod) on usb-moded
startup and make them mutually exclusive with each other.
Allow configfs and android usb control structures some time to show up
if usb-moded is started during device bootup.
Refactor udev event listener to utilize a state machine. Simplifies
book keeping and makes pc/charger detection heuristics easier to control.
Refactor mode selection to utilize three interconnected mini state machines.
Allows separating logically wanted mode from mode programmed to usb and
mode exposed over D-Bus.
Signed-off-by: Simo Piiroinen <firstname.lastname@example.org>