Update travis.yml

Bump the sdk version in travis.yml from 8.0 to 8.1 in line with the
reccent sdk update on travis
Create CDTDatastore category

Create CDTDatastore category which associates CDTQIndexManager with
CDTDatastore dynamically at runtime

Update README.md to document CDTDatastore+Query over CDTQIndexManager
Merge pull request #43 from cloudant/42_datastore_cat

Create CDTDatastore category, fixes #42
Seperated Validation and normalisation into single step

- Created new class CDTQQueryValidator
- Moved Normlisation functions into CDTQQueryValidator
- Moved validation functions into CDTQQueryValidator
- Validate entire query in one step after normalisation but before
returning normalised query
- Corrected the way wildcards are handled, a wildcard will fail validation
for the matcher, so if query is a while card `@{}` do not normalise
Change enumerateWithBlock to NSFastEnumeration

Change the way the query is enuemrated over, from enumerateWithBlock to
NSFastEnumeration, enabling the speration of embedded if statements
Move validation and normalization phase

- Separate validation and normalization into their own phase.
- Call CDTQQueryValidator normaliseQuery for all test which by pass the
normalization phase
- Handle wild cards in normalization, don't validate a wildcard.
Rename normaliseQuery to better reflect what is actually happening

Renamed normaliseQuery to normaliseAndValidateQuery
Moved location of normaliseAndValidateQuery in CDTQQueryValidator.m
Re-organise CDTQQueryValidator.m

Re-organised the methods in CDTQQueryValidator to separate the
validation and normalisation methods to form a more logical
structure
Remove wildcard check from QueryExecutor

Remove wildcard check from QueryExecutor now that the check is in
QueryValidator
Remove check for wildcard in QueryExecutor