Bulletproof c ext

* Extend _set_cannot_encode function  to provide more information about errors
* Make work with _type_marker more bulletproof against ``__getattr__`` realization like in https://github.com/namlook/mongokit/issues/173