Update specs to run from unified Gemfile; update supported versions; add lint run

Uses the default rubies from travis and has a few comments why some
matrix slots are excluded.

Ignores the Gemfile.lock, since changing the Gemfile via env will break
bundle's --deployment mode on travis.
Add validation