Merge pull request #124 from stefansedich/master

Change so that if we request a batch size of 0 we return an empty array ...
Windsor registrations now support handlers that handle multiple message types.
moved semaphore lock outside of try catch, if it goes bang we don't want to release it