Make file extension filtering more intelligent

Previously, the extension matching regex only matched one extension. Now we match all of the extensions.

Searching for an extension previously would only show files with that exact
extension. Now, when you search, it will perform a substring match.

This means that if a file has multiple extensions (e.g. .html.erb), searching
for just one of them will yield a match, and if you include both extensions only
those files with both extensions (in the same order), will match.

This is better for rails projects especially since they use multiple extensions
for their assets and views (e.g. .js.coffee, .css.scss).

A search for:

name.html will match:
name.html.erb
name.html

name.erb will match
name.html.erb
name.erb

name.htm.erb will NOT match
name.html.erb

This patch is public domain.