Tidy up specs and spec helpers

These changes DRY things up and make them a bit more readable.

The helper method for dealing with transactional fixtures
(defined in the `spec_helper.rb`) was converted to use an RSpec tag.
This means that instead of wrapping all specs in an extra block,
we can just tag the outermost description block with
`:without_transactional_fixtures` to be true.

Similarly, there were tags for `js: true` on every example spec,
and that has been DRYed out by moving the tag to the outermost
description block.

Lastly, helper methods defined within the `keyboard_shortcut_spec.rb`
have been moved to the bottom.
Add specs for "[" and "]"

In order to write specs for shortcuts dealing with snapshots and
sweeps, a new trait was added to the sweep factory to generate
a sweep with a full set of associated snapshots.

These specs revealed a minor JS error that was not breaking
functionality, and is fixed in a separate commit.
Fix trivial JS error with sweep pager buttons

In Safari (and by extension in PhantomJS), clicking a link that
has `javascript return false;` triggers an error.

This error had no effect on functionality, but was causing the new
feature specs for the "[" and "]" shortcuts to fail.  Changing the
links to simply return nothing allows the same functionality with
no javascript errors.
Add final keyboard shortcut specs (for 'a', 'r', and 'x')

The final section of keyboard shortcut specs covers the shortcuts
for navigating, accepting, and rejecting snapshot diffs.

In order to have the links for `Before` and `After` views of a
snapshot diff in the test data, an `image_width` property was added
to the `snapshot_diff` association on the `snapshot` factory trait
of `with_diff`.

In other words, when the snapshot factory is used with the `with_diff`
trait, it will now generate snapshot diffs with images that have an
`image_width` property and return `true` for `sprite?`.

Branch Summary:
This is the final commit in a branch that adds specs for all the
current keyboard shortcuts.
In order to add these feature specs, the early commits add `Poltergeist`
and some custom configurations for RSpec and Capybara.  The specs run
with PhantomJS, which emulates using something like Safari to click
through the site.