Portage rework

- move everything under /var/portage/*
- bind mount support

add a new error handling function which should keep code short & concise
I was thinking about return values, should we have many different return values for signaling different problems, or? e.g.
die 1 ... -- general/unspecified failure
die 2 ... -- filesystem error (e.g. tar unpacking failed)
die 4 ... -- network error
die 8 ... -- error in program logic
and any combination of these.


closes #19 for Gentoo hosts as there is currently no (easy) way for non-Gentoo hosts to update it