Using chdir in the fetcher is problematic, for example uninative uses Fetch.download() directly and has to save/restore cwd. We should audit the fetch and unpack code to ensure that absolute paths are used and there are no assumptions about cwd. To ensure that tarballs have the right paths in -C can be passed instead of using chdir.
This was cleaned up as part of http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=ab09541d5517da9b1a23923ea8f5c26ddf745084 and some of the surrounding patches.