Make Formula.build() returns the new package file path
Use vopen() to make DictFile works when reading remote repository meta data
Fix: package_file was re-used before returning its value
Add the ability to update a local repository when building a formula