SI-6240 synchronization for runtime reflection

This is the first step in synchronizing reflection. First we get it working in multi-threaded environment, afterwards I'll look into making it fast (see the comments in `Gil.scala` for more information).