support incremental build

Incremental build is very important for developer, especially for developing
big project, such as webkit, kernel, ect.

This patch add three options to support incremental build:
--no-build: create build root using spec file, and don't execute
            build stage
--short-circuit: incremental build option, this need work with --stage
            option.
--no-topdir-cleanup: don't remove rpmbuild build topdir, this need
            to be specified for incremental build

Basic usage:
1) $ build test.spec --no-build
2) $ mount source code to buildroot/abuild/rpmbuild/BUILD/$name-$verson
3) build packages
 a) just compile
 $ build test.spec --no-init --short-circuit --no-topdir-cleanup --stage=bc
 b) generate RPM packags
 $ build test.spec --no-init --short-circuit --no-topdir-cleanup --stage=bs
4) $ umount buildroot/abuild/rpmbuild/BUILD/$name-$verson

Change-Id: I7e1f7029c49e85fdb3f5a260631c10d052164d17
hide password if user/pass needed for packages repos

.repo.config is generated generated for passwd retrieving, and
.repo.config is saved to $BUILD_ROOT/ and remove it in build
cleanup stage.

fix #459, #390.

Change-Id: I2a5b3e23d504346414ee4b4dbb36ee0bbcb2e67a