Merge branch 'stable-3.4' into stable-3.5

* stable-3.4:
  Make sure project is indexed after creation
  Allow creation of new projects
  Introduce concept of permanent failure
  Document need for Access Database capability
  Do not try to delete inexistent refs
  Make variable used by constructor final
  Stream events listener should respect excluded refs param
  Stream events listener should respect `remote.NAME.projects` param
  Add ref deletion functionality to the StreamEventsListener
  Add guard clauses to improve readability

Additionally removed superfluous mocking in `DeleteRefCommandTest`
as imposed by ErrorProne.

Change-Id: If3daf65f9e10a1583cd163bcf7f1fa0515227411