Some of the methods were missing the 'with' lock.
Fix the incorrect algorithm in acquired_resources_count method.
Had the blocking backwards in the acquire function.
Improve the error messages.
Change the lock to a condition.
Reimplement with simpler, less structures.

Remove the 4 dict/queue structures and replace with only one
ordered dictionary of (queue, acquired_flag) tuples.
Fix up the error and warning messages.

Report both the resource and the key.
Change the default value of blocking from False to True.

This makes it more inline with how the acquire is setup, with
a default of timeout=None, acquire is defaulted to blocking.
Now close and remove are both defaulted to blocking.
Add big threader test.