Remove un-necessary synchronization in ShadowWrangler.

Closes #1100.

ShadowWrangler has the following mutable members which may be affected by the decrease in synchronization:
- shadowMap: Not modified after the constructor.
- metaShadowMap: Accesses are synchronized within getMetaShadow.
- planCache: Race condition introduced: a cached value may now be overwritten. It is not clear that this is a problem.
- shadowConfigCache: Race condition introduced: a cached value may now be overwritten. It is not clear that this is a problem.

Overall, there does not appear to be a compelling reason to synchonize these methods. Alternatively, synchronizing them on different locks should also fix the deadlock.