set up multi-os testing in travis

Requires beta access, thankfully the travis gods have blessed us for the
main repo and my fork!

This should allow us to make sure scm_breeze operates reliably in both
Linux and BSD/Darwin, because there are small shell differences
(especially with default tools) that are causing errors I noticed on
MacOSX.
split tests up by shell for concurrency

More parallelism = faster tests.  Also better isolation for changes that
might only break on zsh or bash respectively.

This is defined via env variable, so someone running locally will have
all tests run sequentially as before.
only install zsh on boxes that need it

don’t bother on macosx (preinstalled) or if the test matrix for that
box isn’t going to be testing in zsh.

this should speed up test runs for most cases, and later we can define
fast_failure and not have to wait for the longer ones.
remove redundant test envs

they were just there when we were making sure the env variable shell
selection was working properly in all cases, now that we know it is,
they can be removed.
dont use grep -P for cross-platform compatibility

`grep -P` gives access to the PCRE matching engine, which is nice,
however, the version of grep shipped on many BSD systems (including
Darwin) does not have this flag.

Currently, `grep -P` was being used in the `_includes()` test helper.

For cross platform compatibility in tests, do not rely upon this option.
Luckily, all existing tests seem to work fine without it already!
use perl instead of sed -r to strip colors in test

`sed -r` is not present on some BSD based systems, including MacOSX
Darwin.  perl is standard pretty much everywhere, so this a more
reliable way to test.

Since this is only used for tests, any performance differences
should not matter significantly.