{core,command}.py: better integration for branch data

  * When no branch has been explicitly set for a build, lock in the
    package's currently checked-out branch.

  * Write out the currently checked-out branch for each package in the
    `status` command.
core.py: rework + document Command.call for commands with sub-commands

These changes allow for common-initialization routines and better
handling of options propagation for parent commands.
core.py: Package: discard all but latest build with a given dir on load
integrated Charm++ meta-data on architecture option/compiler-support

This lets us catch bad build-options, and may eventually allow us to
better use any environment-module system in use on the host.
command.py: text-wrap brief description strings on [sub]command lists.
renamed: chimi.{Option=>util}.wrap_text()

If you were wondering -- no, I didn't write this function for the sole
sake of implementing a poor-man's version of TextWrapper.  That one
was giving me problems and making things look ugly, so we have this
instead.
{core,command}.py: pass negated options directly to HostBuildConfig.apply

One change in command.py that should have been in this commit was
unintentionally included in commit @5c89fa0.
renamed: Host{Run=>Job}Config, similarly for host configuration files
added: HostJobConfig.LaunchConfig launch-configuration structure
config.py: add detection for SLURM job manager
{command,job}.py: add option to `job` for overriding job manager
renamed/moved class: chimi.{core=>command}.Command + related error types
also allow use of "spinal-case" (instead of snake_case) for job options
job.py: respect chimi.settings.noact in `run`
fix reference to CommandError (missed in @76b4e53)
README.md: updated to reflect current state of Chimi
CharmArchitecture.merge_property_with_inherited: fix, convert to docstring
core.build_configure_flags: handle extras properly for ChaNGa vs. Charm

ChaNGa takes CPPFLAGS=... LDFLAGS=..., but Charm++ takes the raw flags.
core.Build.__init__: don't check value of uninitialized variable
core.PackageDefinition: add base implementation of `find_existing_builds`