MPWCachingDownloader:  use CFRunLopRunInMode() to terminate as soon as a single download completes, instead of having to poll
 boolean not
generalized the support for writing booleans out as true and false (taken from JSON Writer)