Class responsible for jobs and files management.
Every instance has the following attributes:
* ``folder`` -- the working folder name.
* ``path`` -- the absolute path to the directory with the working folder.
* ``workdir`` -- the absolute path to the working folder (``path/folder``).
* ``settings`` -- a |Settings| instance for this job manager (see below).
* ``jobs`` -- a list of all jobs managed with this instance (in order of |run| calls).
* ``names`` -- a dictionary with names of jobs. For each name an integer value is stored indicating how many jobs with that name have already been run.
* ``hashes`` -- a dictionary working as a hash-table for jobs.
``path`` and ``folder`` can be adjusted with constructor arguments *path* and *folder*. If not supplied, Python current working directory and string ``plams.`` appended with PID of the current process are used.
``settings`` attribute is directly set to the value of *settings* argument (unlike in other classes where they are copied) and it should be a |Settings| instance with the following keys:
* ``hashing`` -- chosen hashing method (see |RPM|).
* ``counter_len`` -- length of number appended to the job name in case of name conflict.
* ``remove_empty_directories`` -- if ``True``, all empty subdirectories of the working folder are removed on |finish|.