27 merge raise for status

See [here](https://github.com/cloudant-labs/cloudant-python/blob/master/cloudant/document.py#L31). We've guarded against 404s however couchdb/cloudant will return error JSON for other statuses as well. 

This adds a raise_for_status call to the merge function, so an an Exception is raised rather than inadvertently merging error JSON with a document.

I popped into test/ to see if I couldn't cover the error case, but looks like it would behoove us to pull out the tests into individual test modules and toss in a mocking harness to use when ideal. I didn't want to throw a ton of changes into this PR, so take a look and perhaps we can beef up the test suite a bit later.