(#683) - add test for getAttachment with wrong id

Currently you get internal pouch error if you try to get attachment
and use wrong id.
(#683) - add unexistent attachment test

We have two types of errors here: first trying to get attachment
of unexistent document. Second: trying to get unexistent attachment
of existent document. This test covers second.
(#683) - redesign getAttachments slightly

Generally getAttachment can be implemented using only get in all
adapters. As we do have such functionality it does not make sense
not to use it.
This is first try of this small redesing:

* getAttachment is implemented entirely using api.get
* _getAttachment is used as internal functions by our local adapters.
Now it does not have to check whether it gets txn or not. It just must
get txn. What's more, it does not must get attachment metadata and it's
used only by api.get which gives those requirements to it correctly.

This is implementation of these ideas in idb only.
(#683) - wrong id no longer fails + redesign work

Continue small redesign work from previous commit. This fixes
websql adapter and redesigns it to follow new convetion of
how _getAttachment is used
(#683) - fix getAttachment wrong id in leveldb, http

Besides, make leveldb compatible with redesign done in the #683
(#683) - introduce attachmentsFilter

So that adapters get a function to filter apropriate attachments
and don't have to worry about the logick.

Rework get a little so that it follows node callback style (err, res)