Re-enable and fix test suite
Support indexing a single array field per document per index

This commit adds the ability to index documents like:

{
  arrayField: [ val1, val2, val3 ],
  field2: val4,
  field3: val5
}

Each entry in the array results in a row in the index table:

_id    _rev    arrayField    field2   field3
1     2-blah      val1        val4     val5
1     2-blah      val2        val4     val5
1     2-blah      val3        val4     val5

As each entry in the array results in an row in the results table,
only a single array per index per document is allow. Otherwise, if
there are several arrays, we end up with an explosion in index size.
The single array restriction is a compromise between expressivity
and preventing accidental massive space usage.

When querying, a query like:

{ arrayField: { $eq: val2 } }

Will find any document where val2 appears in the arrayField column of
one of the rows referring to the document.

In this case, using the $not operator:

{ arrayField: { $not: { $eq: val2 } } }

Gives the same result, as there are two values in the array that are
not val2.
Add basic support for filtering

Filtering supports the removal of fields only

##Needs supporting

Selecting which keys to preserve. supporting option 1
Slicing arrays
Change filtering to match Cloudant query filtering
Added documentation for new method that includes the filter parameter