Fixed issue with ActiveRecord serialize object as JSON

With 4.1.x `serialize` started returning a string when `JSON` was passed as the second attribute. It will now return a hash as per previous versions (prior to 4.1.x)

Example: An ActiveRecord model named `Post` with a `comment` column that uses the serialize method to convert a `Comment` object to `JSON`.

```ruby
class Post < ActiveRecord::Base
serialize :comment, JSON
end

class Comment
  include ActiveModel::Model
  attr_accessor :category, :text
end

post = Post.create!
post.comment = Comment.new(category: "Animals", text: "This is a comment about squirrels.")
post.save!

# This will now return a hash
post.comment
```
    
When `JSON` is used with `serialize`, ActiveRecord will use the new `ActiveRecord::Coders::JSON` coder which delegates `ActiveRecord::Coders::JSON.dump/load` to `ActiveSupport::JSON.encode/decode`. 

Fixes #15594
Would anyone conceivably want to actually use the native ::JSON serializer which this implementation will suppress?

An alternate (not sure if good/even possible idea but just throwing out there) is to alias within `ActiveRecord::Base` namespace (or `ActiveRecord` in general, or Rails even more general) `JSON` to `ActiveSupport::JSON`, making users always use `::JSON` if they want the native serializer.