3185: Fix job validation failure with no errors given.

* Do not fail docker validation if runtime_constraints==nil.

* Reposition "check docker image" and "check script version" as
  validations, rather than before_validation and before_create/update
  filters respectively.

* Use valid values for the non-docker attributes in docker test cases.

* Add tests to ensure job validation failures provide error messages.

Move test/functional/arvados/v1/git_setup.rb to
test/helpers/git_test_helper.rb and fix bugs:

* Use "setup do" form instead of "def setup" to avoid clobbering other
  setup tasks

* Restore git_repositories_dir to its original value during teardown,
  to avoid polluting other tests
Merge branch '3185-job-invalid-without-errors' refs #3185