Fix for issue #224
Also added some basic unit tests plus one threading test to ensure re-entrancy is possible
- Changed how I was invoking Get on multiple threads to remove non-deterministic thread scheduling issues.
- Removed redundant null assignment
After testing without thread start ManualResetEvent I found no difference in reliability when running the test 10,000 times, so have simplified the test
Merge pull request #226 from jtu100/master

Resubmitting fix for issue #224 (fixed unit test)