Fixes #405 asyncTaskCount out of sync in Puller

* The issue happens in the continous mode where there is a permanent error occurred. The asyncTaskCount was decreased unexpectedly as a result of the continous flag was reset while stopping the replication due to the permanent error.

* Fix the issue by getting the continous flag before setting the error which could trigger the replication to stop if the error is a permanent error.

* Add CBL_Puller_Continuous_PermanentError Test that reflects the fix.
Add CBL iOS Test target to the CBLRouter_Tests
add logging of filter parameters for debugging
Fixes #405 Rework

Testing against ChangeTracker's continuous property instead of replicator._ continuous variable when syncing asyncTaskCount in CBL_Puller's startChangeTracker, changeTrackerStopped: and stop method.
Merge pull request #416 from couchbase/feature/issue_405

Fixes #405 asyncTaskCount out of sync in Puller
Add NS_REQUIRES_PROPERTY_DEFINITIONS declaration to CBLModel

This will catch a common bug where someone implementing a concrete
model class forgets to declare a document property as @dynamic.

The annotation will trigger a compiler warning in this situation, i.e.
whenever a subclass doesn't explicitly provide an @dynamic (or
@synthesize or accessor method) for a property it declares.
Type-check CBLModel getters for string/array/dict properties

CBLModel dynamic properties of type NSString, NSArray, NSDictionary, NSNumber
now type-check the value in the document. If it's not of the correct type, the
property value will be nil.
This is very useful when dealing with other platforms or apps that are in the habit of
setting empty properties to a JSON 'null' value instead of just leaving them out.
Fixes #419
Fixes #163 REST total_rows should return number of rows in the view

* Add total_docs column to views table and set its default value to -1 (means 'unknown' for the old version of the api that do not have this fix)

* Add totalDocs property to CBLView() category. The totalDocs property will first try to get the value from views.total_docs columns and if the value is '-1', it will count the number of docs from the maps table, update the value to views.total_docs and return.

* Update the views.total_rows every time when the view's index is updated.

* Update CBL_Router's handler to return view.totalDocs for the total_rows attribute in query responses.

* Add CBL_View_TotalDocs test case and fix CBL_Router_Views accordingly.
Fixed CBLAuthenticator symbol not found issue

Added CBLAuthenticator to CouchbaseLite.exp file.