Adjust spec's expectation of DateTime precision

https://github.com/Casecommons/pg_search/issues/139
Fix typo (forgot an || operator)
Better explanation of the necessary schema format

Quoting @nertzy with his better explanation and Rails guides link
Normalize trigram query and document as Arel nodes

We need to normalize the Trigram's query and document, making sure they
are Arel nodes, not strings so that the
`Arel::Nodes::InfixOperation.new` correctly puts them together with the
'%' operator. Without this change, they are incorrectly escaped as:

```sql
(
  ('unaccent(coalesce("pg_search_documents"."content"::text, ''''))')
  %
  'unaccent(Cambonator Doppelbock)'
)
```

The correct escaping is:

```sql
(
  (unaccent(coalesce("pg_search_documents"."content"::text, '')))
  %
  unaccent('Cambonator Doppelbock')
)

```
Add unit tests for Trigram conditions

This also includes a major overhaul of this whole spec file, collapsing
much setup into some `let`s and using an OpenStruct for the config
object.
Require 'ostruct' for Ruby < 2.0
Need rspec >= 2.14 for `expect` syntax
VERSION 0.7.1
Fix spelling of coalesced_columns
Simplify string literal for coalesced_columns
Remove context for base case

We can keep the base case simple and add contexts for special cases
Add :threshold option for tweaking trigram search

Fixes https://github.com/Casecommons/pg_search/issues/115
VERSION 0.7.2
Use HTTPS RubyGems source
Test on modern Rubinius version
allow simultaneously searching on both tsvector & non-tsvector columns