Make specs more accurate and using updated syntax

To further this, it would be nice to split these up into different
assumptions in different specs.

We now use '#fetch' to ensure that the key actually exists. If
we want to make sure a key does not exist, we should us
'not_to include(*keys)'.
Don't depend on ActiveSupport, but use it if it's available

If it isn't available use class_attribute functionality that has been
extracted from ActiveSupport
Support older active supports that don't define directly into String
Support all versions of activesupport
Merge pull request #11 from kjg/less_active_support

Define Class.class_attribute if ActiveSupport not available
Merge pull request #15 from shekibobo/refactor/specs

Make specs more accurate and using updated syntax
Removed debugging line
Try some more travis runs
Merge pull request #17 from kjg/travis_updates

Test more combinations in travis