major improvements to pull replication

1. uses caching thread pool for remote requests
2. change tracker reads response line by line
3. TDSequenceMap used to track checkoints
4. SingleThreaded access to TouchDB improved
changes to unit tests and test activity for replication changes
new test case for TDSequenceMap
Prevented NPE in TDPuller if changeTrackerClient is not created before DB needs to stop. Added schema for replicator_log table
Added a db log to log every revision while replicating. So as to ensure that we never lose any data. The sequence is updated immediately (as changes are received) and pusher/puller eventually ensures that we have a consistant db
Added the cursor.close() that got  left behind in the previous commit
Reverted to include URL encode for doc id
Fixed NPE TDReplicator
After importing into Eclipse, it bumped the target version to 17 (need to run this by Marty to make sure this won't cause any problems)
Attach source for ektorp in order to be able to debug into it
putting instructions for how to run the tests in eclipse
fixing typo overrid to override
for #52 added attachment upload tests

* added some sample images taken with an android (1MB)
* added an activity to copy the images out of the assets into the sdcard
* attached the images to a document
* turned on replication

Tests pass in ~51 seconds on a wifi connection contacting iriscouch.com
5.4-7.2MB of images causes OutOfMemoryError

for #52 Tested with 4 x images at 1.8MB

03-08 20:55:22.790: I/dalvikvm-heap(10255): Grow heap (frag case) to 44.019MB for 9478792-byte allocation
03-08 20:55:22.840: D/dalvikvm(10255): GC_FOR_ALLOC freed 9256K, 38% free 35677K/56740K, paused 48ms, total 48ms
03-08 20:55:22.860: D/dalvikvm(10255): GC_CONCURRENT freed 1K, 36% free 36833K/56740K, paused 5ms+4ms, total 23ms
03-08 20:55:22.880: I/Replicator(10255): Waiting for replicator to finish
03-08 20:55:22.930: D/dalvikvm(10255): GC_FOR_ALLOC freed 18515K, 61% free 22413K/56740K, paused 15ms, total 16ms
03-08 20:55:22.960: D/dalvikvm(10255): GC_CONCURRENT freed <1K, 52% free 27384K/56740K, paused 2ms+7ms, total 26ms
03-08 20:55:23.050: D/dalvikvm(10255): GC_FOR_ALLOC freed 4738K, 52% free 27257K/56740K, paused 16ms, total 17ms
03-08 20:55:23.120: D/dalvikvm(10255): GC_FOR_ALLOC freed 4608K, 49% free 29157K/56740K, paused 16ms, total 17ms
03-08 20:55:23.200: D/dalvikvm(10255): GC_CONCURRENT freed 3584K, 43% free 32755K/56740K, paused 3ms+3ms, total 21ms
03-08 20:55:23.200: D/dalvikvm(10255): WAIT_FOR_CONCURRENT_GC blocked 10ms
03-08 20:55:23.280: I/TDDatabase(10255): com.couchbase.touchdb.replicator.TDPusher$2@41255d88: Sending 2 revisions
03-08 20:55:23.280: V/TDDatabase(10255): com.couchbase.touchdb.replicator.TDPusher$2@41255d88: Sending [{doc1 #2-abd59e35-5a0d-4063-9287-c0d646eda60a}, {doc2 #1-56e6ae77-1110-4cec-a156-5347e037016b}]
03-08 20:55:23.300: D/dalvikvm(10255): GC_CONCURRENT freed 4741K, 37% free 36206K/56740K, paused 3ms+4ms, total 21ms
03-08 20:55:23.300: D/dalvikvm(10255): WAIT_FOR_CONCURRENT_GC blocked 12ms
03-08 20:55:23.630: D/dalvikvm(10255): GC_FOR_ALLOC freed 223K, 23% free 43942K/56740K, paused 16ms, total 17ms
03-08 20:55:23.700: D/dalvikvm(10255): GC_FOR_ALLOC freed <1K, 20% free 45477K/56740K, paused 16ms, total 16ms
03-08 20:55:23.700: I/dalvikvm-heap(10255): Forcing collection of SoftReferences for 9479102-byte allocation
03-08 20:55:23.720: D/dalvikvm(10255): GC_BEFORE_OOM freed 785K, 22% free 44691K/56740K, paused 23ms, total 23ms
03-08 20:55:23.720: E/dalvikvm-heap(10255): Out of memory on a 9479102-byte allocation.
03-08 20:55:23.720: I/dalvikvm(10255): "RemoteRequest-http://----:---@testcouch.iriscouch.com:80/touchdb-test/_bulk_docs" prio=5 tid=14 RUNNABLE
03-08 20:55:23.720: I/dalvikvm(10255):   | group="main" sCount=0 dsCount=0 obj=0x4129b588 self=0x68c90c28
03-08 20:55:23.720: I/dalvikvm(10255):   | sysTid=10279 nice=0 sched=0/0 cgrp=apps handle=1755869792
03-08 20:55:23.720: I/dalvikvm(10255):   | state=R schedstat=( 418373000 10460000 129 ) utm=41 stm=0 core=3
03-08 20:55:23.720: I/dalvikvm(10255):   at org.codehaus.jackson.util.ByteArrayBuilder.toByteArray(ByteArrayBuilder.java:~154)
03-08 20:55:23.720: I/dalvikvm(10255):   at org.codehaus.jackson.map.ObjectMapper.writeValueAsBytes(ObjectMapper.java:2106)
03-08 20:55:23.720: I/dalvikvm(10255):   at com.couchbase.touchdb.support.TDRemoteRequest.run(TDRemoteRequest.java:121)
03-08 20:55:23.720: I/dalvikvm(10255):   at java.lang.Thread.run(Thread.java:856)
03-08 20:55:23.720: W/dalvikvm(10255): threadid=14: thread exiting with uncaught exception (group=0x40b01930)
03-08 20:55:23.730: E/AndroidRuntime(10255): FATAL EXCEPTION: RemoteRequest-http://semisecureadmin:none@cesine.iriscouch.com:80/touchdb-test/_bulk_docs
03-08 20:55:23.730: E/AndroidRuntime(10255): java.lang.OutOfMemoryError
03-08 20:55:23.730: E/AndroidRuntime(10255): 	at org.codehaus.jackson.util.ByteArrayBuilder.toByteArray(ByteArrayBuilder.java:154)
03-08 20:55:23.730: E/AndroidRuntime(10255): 	at org.codehaus.jackson.map.ObjectMapper.writeValueAsBytes(ObjectMapper.java:2106)
03-08 20:55:23.730: E/AndroidRuntime(10255): 	at com.couchbase.touchdb.support.TDRemoteRequest.run(TDRemoteRequest.java:121)
03-08 20:55:23.730: E/AndroidRuntime(10255): 	at java.lang.Thread.run(Thread.java:856)
03-08 20:55:23.880: I/Replicator(10255): Waiting for replicator to finish
for #52 added some plain text files for upload too

These files are to replicate the multipart upload example in
http://wiki.apache.org/couchdb/HTTP_Document_API#Multiple_Attachments
reverting Replicator tests back to original
Tests for non-trivial Attachments

moved tests focused on creation and retrieval and replication of docs with more than ~5MB of images into its own test, although it tests the Attachemnts and Replicator functionality.  It Looks like a 768MB RAM device can handle only 8MB of images, where as a 1GB RAM device can handle over 14MB of images.
disable non-passing test (issue #42)
Merge branch 'refs/heads/replicator_fixes'
Merge branch '52tests_heavy_attachments' of git://github.com/cesine/TouchDB-Android into cesine-52tests_heavy_attachments

Conflicts:
	TouchDB-Android-TestApp/AndroidManifest.xml
disable tests that are known to not work (yet)