Extract Language.find_by_extension

This doesn't change any behavior, but just exposes a public method for `Language.find_by_extension`.

/cc @aroben #1675
Interesting. Feels weird, but…

```ruby
>> File.extname("foo.rb")
=> ".rb"
```

I guess it just works because all the definitions in `languages.yml` are prefixed. If we're going to expose this as a public method, I wonder if we should make it accept either?