Added components, changed CouchDB access library, added tests

1. There are several new components for additional actions on couchdb.
2. Most components accept objects on their in ports whereas the previous version of the library accepted more plain test inputs.
3. The underlying couchdb library has been changed from couch-client which is a bit out of date to nano which is more actively maintained and has more features.
4. All but one of the components have unit tests that mock couchdb so an active database server is not required for testing.  The GetChanges component is complex to test since it is intended to stream a changes feed from couchdb which is difficult to mock.  I intend to come back to it as some time in the future.

-RGL