Initial support for NuttX user-space programs build.
bin_PROGRAMS and test_PROGRAMS are build in multiple variants:
- they are build as standalone loadable ELF programs
which start from program provided main() symbol
- then each program is linked with NuttX libraries
which for NuttX flat target creates complete
system image, main() can be configured as startup
symbol in CONFIG_USER_ENTRYPOINT
bin_PROGRAMS are in addition build as objects with
symbols stripped and main() renamed to program_name_main().
The objects are added into registry and if some of programs
specifies list of commands (prgram_name_PROGBUILTIN)
which should be linked into final executable then these
programs are available in binfs image. If the "all" symbol
is used instead of individual programs then all programs
from the build are linked into system image. External registry
can be specified as well by NUTTXREGISTRY define.