due to the fact that other packages (such as python-couchdb) create and manage /etc/couchdb, having a file resource that creates a symlink out of /etc/couchdb doesn't work, for example you can get this error:

err: /Stage[main]/Couchdb::Bigcouch/File[/etc/couchdb]/ensure: change from directory to link failed: Could not remove existing file (Bug #3447)

This commit resolves this by instead managing /opt/bigcouch (as this is where the bigcouch package is installed) and creating a symlink *from* /opt/bigcouch/etc -> /etc/couchdb before the bigcouch package is installed. This way, when the package is installed, the files will be placed in the /etc/couchdb directory and other packages that would create/manage /etc/couchdb would not get confused.