Merge pull request #433 from iFixit/performance-improvements

Huge Performance Improvements
Fix padding between pagination links
Merge pull request #434 from krautcomputing/fix_padding_between_pagination_links

Fix padding between pagination links
Spec: fix failing tests cause of Identity map

Introduction of the identity map caused some failing specs:
https://travis-ci.org/errbit/errbit/jobs/5383844

Though it seems to be less of an issue in recent runs, not sure why.
The identity map is being enabled in the testing thread so the following
test breaks:

 1. get record # added to identity map
 2. call delete api # (doesn't affect identity map of this process)
 3. get record # still in identity map (and thus the test fails)

It was tricky disabling the Identity map in the correct context (where
the specs actually run).
Notice API: properly transform <var> tags

<var> tags with blank values were ending up completely wrong in the
resulting hash.

This: (a user with a blank name)
    <var key="user">
       <var key="id">123</var>
       <var key="name"/>
    </var>

Gets parsed by hoptoad_notifier into this:
    {
       'key' => 'user',
       'var' => [{
             'key' => 'id',
             '__content__' => '123'
          },{
             'key' => 'name'
          }]
    }

Which when passed through the "rekey" method, ended up like this:
    {
       'user' => {
          'id' => '123',
          'key' => 'name' # bad and wrong
       }
    }

Now, after these changes, it correctly comes through as:
    {
       'user' => {
          'id' => '123',
          'name' => nil # much better!
       }
    }
Merge some branches into ifixit-production

Until they are part of errbit/master, we want to use them.
Branches:
  'notice-xml-parsing-fix-blank'
  'spec-fix-failing'