Add utility to set up device symlinks based on the boot device

We'd eventually like to be able to install an identical software build
for encore to either eMMC or external SD card and be able to boot it
without any modifications.  In order to do that, we'll need to be able
to find the system and userdata partitions at runtime by taking into
account the install location.

Early userspace has no way of discovering the boot location on its own,
so we modify the bootloader to pass this information on the kernel
command line.  fsfinder (this utility) will then parse the command line
to find the boot location and set up device symlinks appropriately.

To be of any use, fsfinder has to run before /system is available, so
to avoid the need to ship a statically linked shell or other interpreter
in early userspace, the implementation is in C and compiles to a
statically linked binary.
Make the early boot process boot-location-agnostic

Instead of using fixed block device names for /system and /data, let
fsfinder set up links for us based on the boot location.  This allows us
to run unmodified from both eMMC and external SD card.
Make the recovery boot-location-agnostic

Instead of using fixed block device names for /system and /data, let
fsfinder set up links for us based on the boot location.  This allows us
to run unmodified from both eMMC and external SD card and to do the
right thing in both cases.