Mapping bash, sh, and shell to Generic script type

plus specs!

Closes travis-ci/travis-ci#2856
Closes travis-ci/travis-ci#1201
you're testing this:

```ruby
13: expect(subject.by_lang('cpp')).to     eq(Travis::Build::Script::Cpp)
29: expect(subject.by_lang('cpp')).to_not eq(Travis::Build::Script::Ruby)
```