Switch to couch_log
Change API to function per level
Switch to using couch_mrview data structures and utility functions

This updates the data structures expected for view callbacks, mainly
switching total_and_offset to the new meta response, and also slight
modifications to the expected row format.

Additionally this removes view logic from fabric that is better
handled in couch_mrview.
Update fabric_rpc to use couch_mrview

This modifies fabric_rpc to use couch_mrview for map views, reduce
views, and all docs queries. This removes the majority of view logic
from within fabric as it's better handled now in couch_mrview, and
actually provides pretty drastic decrease in logic in these
functions.

The {view,reduce}_cb functions are also updated to use the new line
format of couch_mrview, switching total_and_offset to meta and
updating the row callbacks as well.
Call fabric view reduce callback with meta information

This is a temporary hack to allow passing meta through
fabric_view_reduce:handle_message. The meta rows were not present on
reduce functions in the previous views implementation, but they
provide an excellent place to determine which a view is about to start
streaming, which is essential for the multi query view implementation.

The hack is that we don't do the proper row collection worker dance
like we do in the handle_message callback for #view_row. For now this
sets a process dict flag to indicate meta has been sent so that we
only send it once. The proper fix is to send meta through
fabric_view:maybe_send_row, but that gets ugly in a hurry and can be
addressed separately.

COUCHDB-523
COUCHDB-1993