Use `break` instead of `next` in AD::Journey::Formatter#match_route

The array is sorted in descending order, so there is no point in
iterating further if we met a negative item - all the rest will be
negative too.
Merge pull request #15247 from DNNX/activesupport-formatter-refactoring

Use `break` instead of `next` in AD::Journey::Formatter#match_route
Remove unnecessary `Hash#to_a` call

Inspired by https://github.com/rails/rails/commit/931ee4186b877856b212b0085cd7bd7f6a4aea67

```ruby

def stat(num)
  start = GC.stat(:total_allocated_object)
  num.times { yield }
  total_obj_count = GC.stat(:total_allocated_object) - start
  puts "#{total_obj_count / num} allocations per call"
end

h = { 'x' => 'y' }

stat(100) { h.     each { |pair| pair } }
stat(100) { h.to_a.each { |pair| pair } }

__END__
1 allocations per call
2 allocations per call
```
Rename `stack` to `queue`

Because it is used as a queue (FIFO), not as a stack (LIFO).

* http://en.wikipedia.org/wiki/Stack_(abstract_data_type)
* http://en.wikipedia.org/wiki/Queue_(data_structure)
Merge pull request #15252 from DNNX/formatter-refactoring-2

Remove unnecessary `Hash#to_a` call
Move `extract_precision` onto type objects
Merge pull request #15239 from croaky/dc-sg-move-extract-precision-to-types

Move `extract_precision` onto type objects
Push scale to type objects

Ideally types will be usable without having to specify a sql type
string, so we should keep the information related to parsing them on the
adapter or another object.
Merge pull request #15254 from DNNX/formatter-refactoring-3

Rename `stack` to `queue`
Merge pull request #15250 from sgrif/sg-push-scale-to-types

Push scale to type objects
Push precision to type objects
Merge pull request #15256 from sgrif/sg-push-precision-to-types

Push precision to type objects
fixes in reorder active record query [skip ci]

resolved reorder issue in rails active record guide
Merge branch 'master' of github.com:peeyushsingla/rails