elock: Add eCondition wrapper. Minor cleanup.

eSingleLocker doesn't need to be a friend, just call the public methods.
Make members protected (for future changes).
Remove constructor for recursive eSingleLock (recursive mutex is evil).
Fix hidden copy constructor syntax (const missing).
Add eCondition wrapper for pthread condition