Created by: jczaja
This PR is introducing mkl-dnn cache clearing when Executor is created. This change will allow to reduce length of hashing keys , as MKL-DNN cache will become independent among unit tests. Executor constructor by default is clearing cache unless parametr clear_mkldnn_cache is set to false. Disabling clearing of cache is used when LoadModel() is called. Reasoning behind this is that for multithreaded scenario each thread may load model for its own prediction and at that situation cache should be maintained (not-cleared).
Performance impact: Depending on how much (relatively towards all ops instances) mkl-dnn ops are used Fp32 mkl-dnn models after change are about upto ~2% faster
@grygielski , @Sand3r- Please review