Additional buffer check in put

Backstory: putting attachments with PouchDB using localstorage-down works in Chrome but not Firefox (https://github.com/pouchdb/pouchdb/issues/2098).

Tracked the difference down to this if-guard, which succeeds in Firefox since <code>value.buffer == undefined</code> but not in Chrome. An additional <code>Buffer.isBuffer(value)</code> check seems to take care of the problem, but couldn't be substituted in for the old check or else 2 beefy tests fail. 

It seems like there should be a better solution with one check rather than both of these, but I'm not too familiar with Buffer/ArrayBuffer semantics. In any case, this appears to satisfy both requirements -- open to suggestions.