Added -[CouchDocument refresh] for use with remote servers without tracksChanges

It will validate the cached currentRevision, if any, against the server and update it if it changed.
Support for using TouchDB on multiple threads

* CouchServer is now copyable. Call -copy to make a new instance to use on a different thread.
* +[CouchTouchDBServer sharedInstance] should only be called from one thread since it returns only one instance. Added an assertion to enforce this.
* Fixed implementation of -init to simplify it and prevent problems if there are multiple TouchDB instances open.
Updated README.
-[CouchTouchDBServer init] should create the db directory

Fixes a regression from a recent commit.
Don't try to decode the old NSData or NSDate values when the property has been set to nil

The same conditions are used in getValueOfProperty:
Merge pull request #73 from martijnwalraven/master

Don't try to decode the old NSData or NSDate values when the property has been set to nil