RSpec 3 and PhantomJS

Upgrade RSpec to 3 with new expectation syntax. Replace Selenium with Poltergeist (PhantomJS) for headless browser testing (using Selenium is still optional).
I'd leave this in. Even if Selenium is not the "official" runner, I'd keep what support we have for it available in case we need to go back to it again some day.