Clean up.
Refactoring and Bug fixed.

- Change the interface of `getRoot/TargetPath`.
- The `getRoot/TargetPath` was returned wrong path when not existed 'android' in path.
Predict the `product-name` from build.prop.
Merge branch 'feature-predicting-product-name' into develop