Capture more memached errors in XMem

It turns out that in analyze customer issues, current logging of
memcached error is not enough. We may hit etmpfail and enomem but
they are categorized as "other" in logs. This commit will dump such
errors. Also, it uses dict to catebgorize memcached errors.

We should be able to do better when hit etmpfail, but given current
pipeline model, there is no straighforward way we can backoff and
re-replicate from mutation with etmpfail. Mutation order need to be
observed instead of just replicating these  mutations with etmpfail.
Will handle that in future.

Change-Id: I18d49194ad81281ca7aa566a4d04fa7bcb43783a
Reviewed-on: http://review.couchbase.org/30998
Reviewed-by: Junyi Xie <junyi.couchbase@gmail.com>
Tested-by: Junyi Xie <junyi.couchbase@gmail.com>