Fixes in ShieldedDict.

Dictionary test (ConsoleTests) would very rarely be incorrect. Trimming was the
problem, Mono does not support conditional removal from ConcurrentDict. Fixed
by restoring the place leak bug - trimming will never remove a null item from the
underlying dictionary. Also fixed another bug in dict trimming.