Makefile: use abolute paths in generated variables

This allows to use these variables inside build.mk regardless of CWD
and is more clear than a cascade of ".."s

This change also unifies $(submake) and $(modulemk) generation
to reduce duplication.

Signed-off-by: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
build.mk: process modules in one rule

There is a race between "usr.manifest" and "bootfs.manifest" rules
which both call module.py. The script does complex stuff wrt module
preparation like fetching module files, calling make, etc. and
should not be run concurrently.

This change fixes the problem by moving the calls into one rule.

This is not the end of the story, more refactoring will follow.  The
module.py script should be split into parts, one that fetches modules
and one that generates manifests. This way the dependencies could be
made more fine grained and jobs paralellized.

This fixes issue #100.

Signed-off-by: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>