Change JNI Interface

As part of making couchbase-lite-java to support nested transactions, JNI Interface was changed. All operations (except open) now include handle pointer parameter.
Merge remote-tracking branch 'upstream/master'
Updated to latest to get rid of nested transactions bug

Removed all Possible fix for https://github.com/couchbase/couchbase-lite-java/issues/1
 code work arounds I put in.

Also marked where I made changes for https://github.com/couchbase/couchbase-lite-java-native/issues/6
and https://github.com/couchbase/couchbase-lite-java-native/issues/2