Tar source plugin: needs better behavior at stage() time

Most tarballs we use are release tarballs which contain a directory at the root, named as the base name of the tarball without the tar extension.

The default behavior of stage() for a tar source should be to extract the content of that directory into the target directory, not to extract the tarball base directory itself into the build dir.

Of course not every (but almost every) release tarball will follow the standard, so the tar source should have an option for working with non standard tarballs as well.