Forecast: Add wordboundary to regex to prevent sub-string match

Added word boundaries to all regexs

//cc @jagtalon @nilnilnil @jkanarek 
Shouldn't everything in `\b` be in a group?

```perl
return if /\b((shipping)|(weather))\b/;
```

Otherwise, it's interpreted as `\b(shipping)` or `(weather)\b`.