SchemaDigester: fix stupid, PEBKAC cache corruption bug

Yep, maps are mutable. I have stumbled upon this bug time and again and _still_
manage to fall into the trap.

Ensure that maps are not mutable by caching an ImmutableMap and do the right
thing!

Signed-off-by: Francis Galiegue <fgaliegue@gmail.com>