Merge branch 'stable-3.4'

* stable-3.4:
  Introduce Bearer Token Authentication
  Remove authorisation from ProjectInitializationAction
  Allow internal user to delete project in Pull Replication API in a primary node
  Fix flaky test in Pull Replication plugin
  FetchJob creation fails in replica when FetchAction is invoked with async=true
  Remove authorisation from PullReplicationFilter
  Use preemptive basic authentication in Pull Replication Plugin
  Do not rely on magic numbers for parsing the URL
  Do not use timer.getStartTime() when propating timers metrics
  Add missing @Assisted when creating the metrics
  Do not rely on System.nanoTime for E2E metrics
  Reduce default exclude refs filter
  Introduce the apply-objects REST-API for the whole '/meta' chain
  Fix the processing of an empty HTML response body from REST-API
  Fix issue with ref deletion and global-refdb
  Fix issue with fetching all refs after project creation
  Always fallback to fetch when ApplyObject REST-API fails
  Log the reason why a ref object wasn't loaded by RevisionReader
  Consider any HTTP 2xx response code from REST-API as success
  Return NO_CONTENT when removing a ref through ApplyObject
  Introduce E2E fetch REST-API metrics
  Fix ApplyObjectIT.shouldApplyRefMetaObject test for apply object
  Introduce E2E apply object REST-API metrics
  Add missing @Override to parseRemotes
  Add more logging for the apply object REST-API
  Support ApplyObject of non-commit refs
  Refactor FetchJob to an assisted injection factory

Release-Notes: skip
Change-Id: I5766e7cd973744c4244c07e9918094d73340f076
tree: 831545512e8e2208042d5293c8d95305d47746c2
  1. src/
  2. BUILD
  3. Jenkinsfile
  4. LICENSE