[new] add method to copy documents

It uses the non standard `COPY` method understood by the couchdb Http
server that allows to create or update a document using another one as
origin without having to retrieve it first
better client/server version comparison

 - we now check that the major and minor versions are equal, because
   CouchDB uses semantic versioning, this should ensure that there are
   no breaking changes between two minor releases (it is not always the
   case however, cf. the change in user documents between 1.2 and
   1.3...)
 - we do not report version mismatch with println but we use slf4j that
   is required by dependendencies and thus is present
[imp] automatically manage attachments field

Using a special field serializer, one can let sohva automatically manage
the `_attachments` field by extending the `Attachments` trait.
[del] remove guessing of attachment mime type

Sohva used to try to guess the mime type of an attachment to upload.
This was done using an external library, adding one more dependency to
the project that was not really needed.
The best way to go about it, is that the person who wishes to upload a
file must say what type it has.
Ask you this: if you don't know what you're doing, then why are you
doing it in the first place ?
add tests for attachment management