Performance improvement.

* Shield.Enlist static method now returns false if the IShielded has
already enlisted in this transaction. This enables implementors to
avoid unnecessary checking of the write locks.
* LocalStorage now has private members enabling one thread to
hold local value directly in them, avoiding the thread-static dictionary.

In the tests, performance is up by ~10-20%.