LDEV-4411 Reintroduce eager fetching and caching of QB options and units
There are several places in LAMS code where we need to detach QB
question entity from session to do copying and comparison. While another
approach can be found, it requires a lot of effort to rewrite now.
Fetching options from a detached question causes lazy initialisation
exceptions. We had to make them eagerly fetched again.
Collection caching is introduced too to address numerous queries run
with every question fetch.