Improved scons hierarchy and added variant_dir to build in a different directory.