exclude_pattern with 1 glob starting with ./ doesn't match any files (work in progress)

The exclusion filter doesn't find any files when given a single glob starting with ./ (related to #1695). Since no files are found, it returns an empty array and does not remove the files from the set to be run. As a result, files that we would expect to be excluded are not excluded.

__Pattern starts with spec/__
```
rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb  --exclude-pattern spec/features/\*\*/\*_spec.rb
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}
 1/1 |========================= 100 ==========================>| Time: 00:00:00

1 example, 0 failures
```

__Pattern starts with ./spec/__
```
rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb  --exclude-pattern ./spec/features/\*\*/\*_spec.rb
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}
 3/3 |========================= 100 ==========================>| Time: 00:00:01

3 examples, 0 failures
```

I should have noticed this when I fixed the inclusion case. :(  I'll take a shot at this soon; it should be easy having just fixed the other case.
This mutates the argument...we generally prefer not to do that, because it can have surprising consequences for the caller if they do something else with the arg.

Also, `/\A` is safer to use as a start-of-string anchor than `/^`.