Added NativeFriendlyRLock to gevent.lock

NativeFriendlyRLock (for lack of a better name) is an RLock that can be used across different native threads (e.g. Python's threading module) and greenlets. It provides a fair synchronization between threads/greenlets while keeping the "blocking" part gevent-friendly.