Speculative fix for replication issue with dup attachments

If a doc has two attachments with identical contents, TDMultipartDownloader will think there are fewer attachments than there really are (because it keys them by SHA-1 digest). This isn't a problem except for a sanity-check that was too strict. Loosened it up.
Fixed some issues with filtered push

* When a revision is added while a continuous push is active, the filter block was called with nil properties (fixes issue #47).
* In a filtered push the previous revision IDs of a document wouldn't be sent over, so the history got lost.
Avoid conflicts saving checkpoints

Replicators now avoid saving a checkpoint while a previous save is still in progress.
Instead they wait till the save finishes, then start the new one.
That way the second save will have the correct revision ID to replace.
Fixes #48.
Fixed 403 error POSTing to _replicator db
Made TDChangeTracker not warn on EOF of continuous feed.
Added block-queue to TDServer to alleviate race conditions

Provides an easy way to run a block on the server's thread.
CouchCocoa now uses this (in a separate commit) when accessing map/reduce/validate functions.
Map function should see a _conflicts property if doc is in conflict.

Fixes #49.
Use NSOperationQueue to single-thread access to TDServer/Database.

We no longer run everything on the NSURLConnection thread. Instead the TDServer creates an NSOperationQueue and everything else that talks to the server or its database does so via blocks posted to the queue.
This required changing a bunch of code (URL loading, stream, delayed perform) that depended on runloops to use operation or dispatch queues instead.
Preserve properties when doc deleted by PUT with '_deleted' property.

Fixes #50.
Bump version to 0.69

and unrelatedly, added a helpful comment in TDPuller.m.
TDPusher should transmit properties of deleted revisions

...because it's now possible to create a deleted revision that still has properties in it.
This now fixes #50.
Fixed race conditions & other bugs in the HTTP listener.

I had to use @synchronized. I feel so dirty.
Oops, needed to update MYUtilities as part of the threading changes yesterday
Pull all conflicting revisions from remote db during sync

Adds "?style=all_docs" option to _changes feed.
Fixed an infinite loop indexing views

Regression introduced by c251be31. Occurs if the db contains a design document.
Don't use NSURLConnection delegate-based API on main thread

It hangs on iOS, for some reason.
Fixes #51.
Little trivial changes
Revert "Use NSOperationQueue to single-thread access to TDServer/Database."

This reverts commit d111a9ff03cf30a833916ba5f1d058a0b07532db.

Conflicts:

	Listener/TDHTTPResponse.m
	Source/ChangeTracker/TDChangeTracker.m
	Source/ChangeTracker/TDRemoteRequest.m
	Source/TDURLProtocol.m
Redo threading, again (this time without NSOperationQueue)

Changed TDServer to TDDatabaseManager, and made a new TDServer that just manages threading. It runs a background thread and schedules blocks on it. There is no access to the TDDatabaseManager except via the thread-safe async calls.
Tested on Mac OS X 10.7.3 and iOS 5.1.
Make build work with logging disabled (MY_DISABLE_LOGGING)

Also restored the Info.plist file for the empty app, which had gone missing somehow.