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
When writing these I discovered that I needed to say `.rb`, not `rb`, if I wanted to get any results. I wonder if that's good or bad?