[ssa, ssa_path_record]: Refactoring. Pass SMDB pointer into ssa_pr_reinit_context
ssa_path_record.c: Rebuild indexes instead of destroy in reinit context
ssa.c: Implement multithreaded PR computation.

 1. Current implementation is based on Glib's thread pool.
 2. Each PRDB calculation is a separate task
 3. Multithreaded calculation is used only during SMDB update
 4. Number of AL workers is number of available cores - 3.
    (upstream, downstream, access). It doesn't mean that
    that there is no context switch during PR computation.
    Also, probably, upstream, downstream, access are waiting
    for IO and doesn't spend actually CPU. The formula could
    be changed in future.
ssa.c: Store number of al workers in access context
ssa.c: Push a access task to thread pool only if number of workers > 1.

 Else, use access thread for the computation.
ssa.c: Print an error in case of g_thread_pool_push failure