Add client fetch people methods via shared private methods

Note the use of a more generic completion handler
as a wrapper around the original.
Add client fetch people methods tests
Update client project file source ordering
Add containsDictionary Foundation extension method

Includes test.
Add indexSet...EmptyResponse...Codes Foundation extension method

Includes test.
Add client non-fetch people methods
Add client non-fetch people methods tests
Document client people methods
Add client pagination info class and tests

Includes related NBDictionarySerializing interface.
Add pagination support to client fetch people methods

Update the internal base task completion-handler
method so the completion generated also passes in
the full JSON object. This provides the
flexibility for the internal base task methods to
make use of the non-results JSON data (i.e.
pagination) as needed. This also requires updating
each base task method.

Next update the base fetch task method and the
fetch people methods to allow an optional
reference to a pagination object used by the app
to be passed. If passed, the object referenced
will be updated based on the newly passed full
JSON object on completion.
Update client fetch people methods tests with pagination support

Also add assert for pagination info on response.
Move client people methods into class extension

This requires moving the internal interface into a
new header file.

This allows a smaller main client implementation.
It also breaks the client down into modular
sections that can (with more work) allow lighter
builds.
Abstract helpers from client people methods tests

Move them into base test case.