Simplify external build and artifact caching logic

- Transition from having a boolean and a path to just a path. The
existence of a value for the path is used in the same cases where the
boolean was checked for truth before.
- Remove IS_GLINUX in favor of IS_EXTERNAL everywhere.
- Conditionally add the cache directories to the docker volumes list and
environment.
- Make sure the cache variables and FETCH_PACKAGES are always
overridable, so that even an external build can use them.

Change-Id: Idf222354f6bf2f4c2f2c0c478430f1e1617a2e64
7 files changed