Mutex locking for *Queue classes

Fixes #20

The insertion and extraction operators for the *Queue classes are protected by mutex locking and unlocking.  Upon encountering a mutex lock, execution is blocked for up to 250ms, and an exception is thrown if the timeout is reached.

(this PR's commits include PR #23)