Add Bash support, fix #159

Works well in most cases, however it will still highlight `if`s even when not followed by `; then`.

![prntscr](http://i.imgur.com/tBotz1w.png)

Adding `punctuation.definition.case-pattern.shell` fixes a problem with case patterns, which need a closing bracket but the opening bracket is optional.
For example, `pattern) cmd;;` would otherwise report unmatched paranthesis.