Pass ActiveSupport::JSON.decode a string and not an IO when interfacing with GitHub API

In older versions (< 4.1) of ActiveSupport, this worked because
ActiveSupport used MultiJSON, which would invoke #read if it
responded to it (https://github.com/intridea/multi_json/blob/v1.8.4/lib/multi_json/adapters/json_common.rb#L9).
However, newer versions of ActiveSupport, starting in 4.1, use
ruby's standard JSON gem (https://github.com/rails/rails/commit/ce4456fde6f45f1abd020cbdeb520d401299e01f),
which expects a String. Reading the IO that #open returns
to us and passing the resulting String to JSON.decode ensures
compatibility with all versions of ActiveSupport.
Issue #310 fixed. Refactored code to use a single method to know if a tag page should be displayed.

310 - Fixed. Need to write some tests now.

310 - Fixed. Need to write some tests now.

Stubbed Specs

All tests are passing
Another attempt to use SVG badges
Properly show the Code Climate badge

[skip ci]
Merge pull request #526 from jimryan/master

Pass ActiveSupport::JSON.decode a string and not an IO when interfacing with GitHub API