<commit_before>CouchDB framework for Sproutcore

This framework is a port of a part of the very elegant API from cradle 
(https://github.com/cloudhead/cradle) by <NAME>.

It supports most parts of the API, with the exception of:
- attachments
- autodetecting design document saving
- caching

Notes:
- get is called retrieve here, because get has a different meaning in SC

synopsis
--------

``` js
  var connection = CouchDB.Connection.create({
    defaultResponder: myApp.statechart, // you can set this, and then use strings for the notifier functions
    prefix: '/couch' // in case your couch is not available at the server root.
  });
  var db = connection.database('starwars');

  db.retrieve('vader', function (err, doc) {
      doc.name; // '<NAME>'
  });
  
  db.retrieve('vader', 'retrievedDoc'); // this will forward the call to the statechart
<commit_msg>updating because of attachment support<commit_after>CouchDB framework for Sproutcore

This framework is a port of a part of the very elegant API from cradle 
(https://github.com/cloudhead/cradle) by <NAME>.

It supports most parts of the API, with the exception of:
- autodetecting design document saving
- caching

Notes:
- get is called retrieve here, because get has a different meaning in SC
- uploading and removing attachments is now supported but only through XHR2.
- progress monitoring of the upload is supported. The saveAttachment function returns the request,
  on which the progress property contains the current percentage. SC.Request#progress is observable.

synopsis
--------

``` js
  var connection = CouchDB.Connection.create({
    defaultResponder: myApp.statechart, // you can set this, and then use strings for the notifier functions
    prefix: '/couch' // in case your couch is not available at the server root.
  });
  var db = connection.database('starwars');

  db.retrieve('vader', function (err, doc) {
      doc.name; // '<NAME>'
  });
  
  db.retrieve('vader', 'retrievedDoc'); // this will forward the call to the statechart

{'fraction_non_alphanumeric': 0.0947680157946693, 'fraction_numerical': 0.0004935834155972359, 'mean_word_length': 3.724941724941725, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1103777', 'n_tokens_mistral': 575, 'n_tokens_neox': 555, 'n_words': 247}