Update README [skip ci]
Add test for sort_link hide_indicator set to false and

improve the preceding test to be consistent with the other sort_link
tests.
Use Array#+ instead of in-place mutating with Array#<<

and clarify the code by extracting the parsing to a separate method.

Array#+ creates a new array rather than mutating the
provided one and ought to in theory be safer and slower.
However, given the small number of sort array elements
(usually 1, up to 3 or 4), there is very little performance
difference — about the same as the benchmark variances.

Benchmark.ips do |x|
array = ['updated_at desc', 'first_name asc']

def parse_sort(field)
attr_name, new_dir = field.to_s.split(/\s+/)
"#{attr_name} #{new_dir}"
end

def inject(array)
array.inject([]) { |a, field| a + [parse_sort(field)] }
end

def inject_mutate_in_place(array)
array.inject([]) { |a, field| a << parse_sort(field) }
end

def each_with_object_mutate_in_place(array)
array.each_with_object([]) { |field, a| a << parse_sort(field) }
end

x.report('inject +') do |times|
i = 0
while i < times
inject(array)
i += 1
end
end

x.report('inject <<') do |times|
i = 0
while i < times
inject_mutate_in_place(array)
i += 1
end
end

x.report('each_with_object <<') do |times|
i = 0
while i < times
inject_mutate_in_place(array)
i += 1
end
end

x.compare!
end
end

Calculating -------------------------------------
            inject +     9.145k i/100ms
           inject <<     9.302k i/100ms
 each_with_object <<    10.478k i/100ms
-------------------------------------------------
            inject +    179.340k (± 5.3%) i/s -    896.210k
           inject <<    192.993k (± 5.9%) i/s -    967.408k
 each_with_object <<    192.782k (± 5.5%) i/s -    963.976k

Comparison:
           inject <<:   192993.0 i/s
 each_with_object <<:   192782.2 i/s - 1.00x slower
            inject +:   179339.7 i/s - 1.08x slower