core: Simplify application construction

There is no need for two constructors. The run() function variant that
picks up command name from argv[0] can use the more general constructor.

This simplifies application construction code and makes it more obvious
what is going on.

Reviewed-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Fix errors in "make clean"

Currently, "make clean" prints errors like this:

   /bin/sh: ./scripts/osv-version.sh: No such file or directory

The problem was that apps/rpm/Makefile uses $(OSV_BASE)/scripts/osv-version.sh
and it was passed OSV_BASE=., but the current directory was changed.
So instead of passing ".", pass the full path name of the current directory,
and the error messages are gone.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>