Refactor height to Display::Panels#structure where possible.

Instead of setting `@height` in `Display::Panels#initialize` (since it
is not available as an instance variable until `#initialize` has
completed), pass `height` as an argument to `#structure`.
Tweak time requires to be more accurate.
Refactor Spies data, introducing Spy::Dataspyable .

Introduce `Spy::Dataspyable`, which makes a Spy enumerable and adds
`#[]` access of Spy data. Remove `:data` reader from all Spy classes,
which should instead use `#[]`. Change `Spy::Workers|Queues` to store
as arrays rather than hashes, mirroring `Spy::Retries|Schedules`.
Refactor Panels, updating to work with Spies [] access.

Store data for each `Display::Panel` within `@spies`, refreshing spies
within `#refresh`, and removing explicit
`Display::Panels::Workers|Queues|Retries|Schedules#refresh`. Update
`#structure`s to use the `#[]` method of data access, thereby removing
use of `rescue nil`.
Merge branch 'refactor-spy-data'
[#1] Convert Spy::Stats to use data+refresh pattern.

Instead of defining each statistic as a method on `Spy::Stats`, use
an internal hash, updated by calling `#refresh`. This makes `Spy::Stats`
mirror the approach of the other Spies.

Note that other Spies use internal arrays of hashes, whereas `Spy::Stats`
uses only a depth-1 internal hash. This doesn't affect usage, however,
and is compatible with enumerable `Spy::Dataspyable`.
Use Ruby 2.1.0 by default, installing curses, adding to build list.

curses has been removed from the standard library.

    https://bugs.ruby-lang.org/issues/8584
Fix bundler 1.5.0 missing json build failure for Ruby 2.1.0 .

bundler 1.5.0 does not appear to detect Ruby-shipped gems properly.

    https://github.com/bundler/bundler/issues/2780
Fix build against rbx-19mode => rbx-2.1.1 .

`rbx-19mode` isn't supported anymore by Travis.

    http://about.travis-ci.org/docs/user/languages/ruby/
Fix curses for supported Ruby versions, including Ruby 1.9.3 .

d85ea78 installs curses, because curses has been removed from the
standard library in Ruby 2.1.0 onwards. However, the curses gem does
not appear to work with Ruby 1.9.3 . Thus, it cannot be added as a
dependency in `sidekiq-spy.gemspec`.

`Gemfile` supports the notion of platforms. However, `Gemfile` is not
used at build-time. Add curses as a conditional dependency at install-
time, using `ext/mkrf_conf.rb`, based on

    http://en.wikibooks.org/wiki/Ruby_Programming/RubyGems#How_to_install_different_versions_of_gems_depending_on_which_version_of_ruby_the_installee_is_using

However, the dependency still needs to be satisfied at development-
time. Adding this to `Gemfile` using `:platform => :ruby_21` does not
appear to work in Ruby 1.9.3 , because it is an invalid platform there.
Thus, use `RUBY_VERSION` to specify curses as a development dependency
for Ruby 2.1.0 onwards.

If you know a better way of doing this, I would be very interested to
hear it. :)
Bump version to v0.3.1 .
Document v0.3.1 in CHANGELOG.
Merge branch 'release/v0.3.1' into stable