Remove / deprecate expected_return_code
Since we rely heavily on xargs, this feature doesn't really work as expected.

diff --git a/pre_commit/clientlib/validate_manifest.py b/pre_commit/clientlib/validate_manifest.py
index e5a6e0e..c08ce0b 100644
--- a/pre_commit/clientlib/validate_manifest.py
+++ b/pre_commit/clientlib/validate_manifest.py
@@ -24,7 +24,6 @@ MANIFEST_JSON_SCHEMA = {
             'language': {'type': 'string'},
             'language_version': {'type': 'string', 'default': 'default'},
             'files': {'type': 'string'},
-            'expected_return_value': {'type': 'number', 'default': 0},
             'stages': {
                 'type': 'array',
                 'default': [],
diff --git a/pre_commit/commands/run.py b/pre_commit/commands/run.py
index 067fbc0..95a9f90 100644
--- a/pre_commit/commands/run.py
+++ b/pre_commit/commands/run.py
@@ -87,7 +87,7 @@ def _run_single_hook(hook, repo, args, write, skips=frozenset()):
 
     retcode, stdout, stderr = repo.run_hook(hook, filenames)
 
-    if retcode != hook['expected_return_value']:
+    if retcode:
         retcode = 1
         print_color = color.RED
         pass_fail = 'Failed'
diff --git a/tests/clientlib/validate_manifest_test.py b/tests/clientlib/validate_manifest_test.py
index d847cab..4e51ade 100644
--- a/tests/clientlib/validate_manifest_test.py
+++ b/tests/clientlib/validate_manifest_test.py
@@ -77,7 +77,6 @@ def test_additional_manifest_failing(obj):
                 'language': 'python',
                 'language_version': 'python3.3',
                 'files': r'\\.py$',
-                'expected_return_value': 0,
             }],
             True,
         ),
diff --git a/tests/commands/run_test.py b/tests/commands/run_test.py
index be9223e..6b0d4b6 100644
--- a/tests/commands/run_test.py
+++ b/tests/commands/run_test.py
@@ -476,8 +476,7 @@ def test_local_hook_fails(
         ('hooks', [OrderedDict((
             ('id', 'no-todo'),
             ('name', 'No TODO'),
-            ('entry', 'grep -iI todo'),
-            ('expected_return_value', 1),
+            ('entry', 'sh -c "! grep -iI todo $@" --'),
             ('language', 'system'),
             ('files', ''),
         ))])
diff --git a/tests/manifest_test.py b/tests/manifest_test.py
index 7e09f33..ce1beed 100644
--- a/tests/manifest_test.py
+++ b/tests/manifest_test.py
@@ -23,7 +23,6 @@ def test_manifest_contents(manifest):
         'description': '',
         'entry': 'bin/hook.sh',
         'exclude': '^$',
-        'expected_return_value': 0,
         'files': '',
         'id': 'bash_hook',
         'language': 'script',
@@ -39,7 +38,6 @@ def test_hooks(manifest):
         'description': '',
         'entry': 'bin/hook.sh',
         'exclude': '^$',
-        'expected_return_value': 0,
         'files': '',
         'id': 'bash_hook',
         'language': 'script',
['tests/commands/run_test.py', 'pre_commit/commands/run.py', 'pre_commit/clientlib/validate_manifest.py', 'tests/manifest_test.py', 'tests/clientlib/validate_manifest_test.py']