Add new integration testing framework.

[finishes #44818075]

* use a better ruby expect equivalent that tracks full output
* have travis run integration specs against 1.8.7 and 1.9.3
* disable integration specs on ruby 1.8.x