always_run + no `files` still crashes on `KeyError: files`
I was under the impression `files` was completely ignored for `always_run`, I guess not!

Here's a small reproduction:

```yaml
-   repo: local
    hooks:
    -   id: foo
        name: foo
        always_run: true
        entry: bash -c 'echo hello && exit 1'
        language: system
```

```
$ ./venv-pre_commit/bin/pre-commit run foo
An unexpected error has occurred: KeyError: u'files'
Check the log at ~/.pre-commit/pre-commit.log
```

```
$ cat ~/.pre-commit/pre-commit.log 
An unexpected error has occurred: KeyError: u'files'
Traceback (most recent call last):
  File "/tmp/foo/pre-commit/pre_commit/error_handler.py", line 48, in error_handler
    yield
  File "/tmp/foo/pre-commit/pre_commit/main.py", line 226, in main
    return run(runner, args)
  File "/tmp/foo/pre-commit/pre_commit/commands/run.py", line 235, in run
    return _run_hooks(repo_hooks, args, environ)
  File "/tmp/foo/pre-commit/pre_commit/commands/run.py", line 155, in _run_hooks
    retval |= _run_single_hook(hook, repo, args, skips, cols)
  File "/tmp/foo/pre-commit/pre_commit/commands/run.py", line 60, in _run_single_hook
    filenames = get_filenames(args, hook['files'], hook['exclude'])
KeyError: u'files'
```

diff --git a/pre_commit/commands/run.py b/pre_commit/commands/run.py
index 3039b66..9ce71d8 100644
--- a/pre_commit/commands/run.py
+++ b/pre_commit/commands/run.py
@@ -57,7 +57,7 @@ NO_FILES = '(no files to check)'
 
 
 def _run_single_hook(hook, repo, args, skips, cols):
-    filenames = get_filenames(args, hook['files'], hook['exclude'])
+    filenames = get_filenames(args, hook.get('files', ''), hook['exclude'])
     if hook['id'] in skips:
         output.write(get_hook_message(
             _hook_msg_start(hook, args.verbose),
['pre_commit/commands/run.py']