allow full fidelity of keys with .NET client

Details

Description

Currently, underlying EnyimMemcached does a certain amount of key validation, based on legacy memcached rules. We've decided that we'll allow any binary byte-string for keys, with some caveats. This means that for the 1.2 client, we should support the same fidelity.

The caveats are:

We expect this to be fine with all key/value use cases in Couchbase Server 2.0

We strongly recommend users select keys which are valid UTF-8 such that they can be used in views. This is valid even with \0, \n, \r, " ", etc.

Couchbase Server 2.0 does not have any known issues with the above, but some areas like Cross Datacenter Replication, backup and restore, statistics utilities have not been fully tested and could have unknown issues. Any issues will be fixed with subsequent fixes in the 2.0.x release line.