Add basic support for projection

Issue #14

Projection  supports the removal of fields only, uses the Cloudant Query syntax of an array using the fields:  parameter on find.
Passing nil as the fields into find will result in a full document being returned, the same is true for an empty array.
Merge pull request #17 from cloudant/filter_fields

Filter fields, fixes #14
Allow sorting results using a single index

This commit adds a simple SQL-based sorting
implementation to CloudantQueryObjc.

The user specifies a sort document:

[ { fieldName: asc }, { fieldName2: desc } ]

The implementation looks for an index containing
fieldName and fieldName2, failing if one isn't found.
It then generates a SQL query to get the ordered
doc IDs:

SELECT DISTINCT _id FROM idxtable ORDER BY
   fieldName1 ASC, fieldName2 DESC

It then loops through the results of the sort
query, adding each docid which matches the
user's query to an array, ending up with a
list of the docids which match the user's query
in the correct order. Skip and limit are then
applied.

This isn't efficient, but works for all result set
sizes.

Fixes #9.