Experimental: read and write build files in alternate directories (#286)

* The flags -experimental_{read,write}_build_files_dir may now be used
  to read and write build files to alternate directories, which may be
  outside of the repository root.
* When a build file is read from an alternate directory, the build
  file in the source directory is ignored.
* When a build file is written to an alternate directory, any existing
  build file in that directory is replaced. The build file in the
  source directory is not updated.
26 files changed