Convert build script to argparse

Future patches will add some options. This will be easier with argparse.

Unfortunately, argparse doesn't support a default sub-command. Hence, the
shortcut "./build" for "./build build" is no longer supported. There are
ways to work around this by treating the command name as an optional
argument rather than sub-commands. However, this limits future
flexibility, since the fake sub-commands won't be able to accept sub
command- specific options.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
build: implement --socs, --boards options

This will restrict the build process to a subset of SoCs or boards,
which can be useful if you want to:

./build --boards seaboard build
./tegra-uboot-flasher exec seaboard

... in order to iterate testing on a single board at a time.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
build: restrict cmd_build_configs() to enabled objects

Only install enabled SoC/board/config files in _out/configs. This may
be useful if you want to create a _out directory containing a limited
set of binaries; this way, only the relevant limited set of config
files are installed too.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
flasher: fix assignment of default data_dir

The default value was being assigned to a global rather than a field in
the argparser result.

Reported-by: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>