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
Make serializer_from_block_or_class return the object not serialized
Don't rely on hash ordering, use the key instead
Merge branch 'less_active_support' into travis_updates
Merge branch 'serializer_from_block_or_class_update' into travis_updates
Try some more travis runs
Merge branch 'travis_updates'