Merge branch 'stable-3.0'

* stable-3.0:
  Upgrade bazlets to latest stable-3.0 to build with 3.0.2 API
  Upgrade bazlets to latest stable-2.16 to build with 2.16.11.1 API
  Fixes to build, run, and test on Gerrit 3.0
  Support outputting elapsed evaluation time on tasks
  Rename some local task variable to be more consistent
  Support optional preload-task
  Add optional chainable subtask support
  Allow tasks attributes to be preloaded from other tasks
  Detect and handle non-existing tasks more explicitly.
  Use NOT notation in task tests instead of "-"
  Clarify applicable queries in task tests
  Support exporting properties to task json
  task: add support to set custom properties
  Add duplicate subtask handling and tests
  Move invalid and NA task tests back to bottom.
  Add basic task loop detection test
  task: create property expansion framework
  Tasks: add support for a ${_name} property
  Remove buggy undocumented support to redefine task name
  Upgrade bazlets to latest stable-3.0
  Upgrade bazlets to latest stable-2.16 to build with 2.16.10 API
  Upgrade bazlets to latest stable-3.0 to build with 3.0.1 API
  Upgrade bazlets to latest stable-2.16
  Upgrade bazlets to latest stable-2.16 to build with 2.16.9 API

Change-Id: I58b2615f30d0c588609fad8fe00a752e9c808f9e