Rework the module to use the new cls-hooked module (which uses AsyncWrap
available since Node v4.5) instead of old continuation-local-storage
(based on very unreliable async-listener).
Rename "per-request-context" middleware to shorter "per-request".
Introduce "LoopBackContext.perRequest" as a shortcut for way too long
"loopback-context/server/middlewar/per-request"
As soon as CLS module is loaded, the instrumentation/patching of
async-listener is fired. This may cause stack overflows due to promise
instrumentation.
By loading CLS module lazily (only when used for real), we avoid
this kind of problems in applications that are not using current-context
at all.