Modify Manifest.txt
{Matches,DoesNotMatch} support the ESCAPE clause
`Expresssions` => `Expressions` [ci skip]
Reuse `maybe_visit` method

This commit simply removes duplicated code by reusing the
existing `maybe_visit` method.
Completes 08e6491 in reusing `maybe_visit`

:sweat: I don't know why the tests did not fail, but to keep
the same syntax as before, `collector =` is required.

Maybe `visit` changes `collector` in-place, so the result is the
same, but since I'm not sure about the side effects, I think this
PR is needed to. Sorry! :sweat:
Binary nodes should not generate the same hash as nodes of other classes
Improve test coverage for `#in` and `#not_in`

These methods are going to go through some heavy refactoring, and moving
logic around. This adds missing tests for each of the branches on the
predicate.
`#not_in` with a range should respect proper precedence

Currently, doing

```ruby
relation[:id].not_eq(4).and(relation[:id].not_in(1..3))
```

will generate

```sql
"id" != 4 AND "id" < 1 OR "id" > 3
```

Which would incorrectly include records with an id of 4, as the OR
statement has higher precidence than the AND statement. The `or`
method on `Node` properly groups the statement in parenthesis.
💣
Refactor `#in` and `#not_in`

These methods duplicate a lot of logic from the other predications. We
can just use those methods directly, and only build nodes with the same
name in our method directly. We've already had one bug that came from
building nodes directly, rather than using the proper predicate.
Deprecate passing ranges to `#in` and `#not_in`

The goal of these methods should be to generate in nodes, not handle
every possible permutation of more than one value. The `#between` and
`#not_between` methods have been extracted, which better represent the
semantics of handling ranges in SQL.
Dry up building quoted nodes in predication

Given that we are going to remove casting from Arel in the near future,
having a single place nodes in predications will help.
Revert "Merge pull request #300 from jpcody/master"

This reverts commit 36836fa5e7c084c0dce2818577e6fd0cf815f786, reversing
changes made to 53bc8426648cc93695525e8f12102cd416b2d772.
Stop using hoe to release the gem
hoe is not the dependecy anymore
Update the Gemfile
Bump to 6.0.0.beta2
Revert "Revert "Merge pull request #300 from jpcody/master""

This reverts commit 9b92af7098b2728ced578ab9a7679176d20f120f.

beta2 is out, and we've fixed the issue that this caused in Rails
Fix rake test task
Look for `Enumerable` rather than `Array` in predicates

It's not quite duck typed, but it will allow us to pass in our own
objects with additional logic (like type casting).