Fix Rubocop filename handling
Fix Rubocop filename handling

In my previous change, I updated the Rubocop linter to pass the filename
to Rubocop. This change was tested on a file I expected Rubocop to
ignore and the experience in vim was as I expected. However, I soon
found that ALE wasn't finding errors in files that should not be
ignored. After investigation, I found a few issues that this commit
fixes:

1. We were not properly passing the current filename. We now use
   `expand` to get the filename.
2. The regular expression used in the callback was expecting the static
   value of `_` for the filename in output. We now use a looser regular
   expression that begins matching on the first `:`.
3. The linter was defined statically. By using the current filename when
   defining the command the linter would always use the filename of the
   first Ruby file the user opened. We now use a `command_callback` to
   inject the proper filename.

I tested these changes on a configuration with included and excluded
files and found it to work as I expected. Apologies for the earlier
incorrect change.

hernot/ale,adriaanzon/ale,breed808/ale,w0rp/ale,hernot/ale,IngoHeimbach/ale,neersighted/ale,breed808/ale,doits/ale,w0rp/ale,w0rp/ale,IngoHeimbach/ale,esran/ale,IngoHeimbach/ale,breed808/ale,neersighted/ale,neersighted/ale,hernot/ale