Start using a unified box command

Parse the command line arguments and forward them to respective
subroutines. Just the `./setup` side of things have been implemented
here.
Move var.sh and ks.cfg

  * vars.sh -> etc/box.conf
  * ks.cfg -> etc/ks/centos65-x86_64.cfg
New switch to specify different kickstart file
New switch to specify different local config file
Add documentation for `box` command

A few manpages describing `box` command itself as well as its
configuration file `box.conf`. The man pages are written in mdoc
form.
Change print error function name
Use internal 'printf'
Refine the error message format
Return instead of exit from function
Switch to using getopts

BSD/GNU getopt, despite generally having a nicer interface than
getopts, aren't reliable across platforms. Particularly the BSD
one's inability to parse options with spaces in them.

Unfortunately, getopts struggles with non-flag options so it is more
straight forward to specify an action with a flag now. Being able to
specify options out of order is nice after all.
Reflect new -a flag in docs and usage

Actions are no longer direct arguments to the programme and are
specified using a flag instead.
Show usage on error
Bail when no action specified