[NPU] Refactor the igraph class (#31652)
### Details:
- *Refactor the igraph class.*
- *Call the get_batch_size method and try to determine the batch size
only when needed.*
- *Refactor get_batch_size and determine_batch_size methods*
- *Removing redundant checks to reduce the overhead*
- *Make sure that tensors are set correctly instead of setting graph
arguments with random data from memory*
- *Make sure that we re-create output tensors when needed and not use
previously allocated with a smaller/higher size*
- *Fix path when random tensor is used by re-creating the level zero
tensor as well*
CVS-171992
---------
Signed-off-by: Bogdan Pereanu <bogdan.pereanu@intel.com>