Fix BUGS causing missing shorter links / lower counts

Two bug fixes in src/tools/generate_paths.c.
'Short link' means link is contained inside existing link.

1. Some short links were not being added if a longer version existed.
   In the following example, if read1 was seen before read2, the links in read2
   were not being added.

     \   \      /   /
      \   \    /   /
    -A-+-B-+--+-C-+-D-

  read1:
     |==============|
     A-------------->
         B---------->
     <--------------D
     <----------C

  read2:
         |======|
         B------>
         <------C

  These links did not add important connectivity information since they are
  contained within longer links. However they are important later when link
  counts are used for e.g. error cleaning.

Diff:

@@ -317,15 +320,11 @@ static void worker_junctions_to_paths(GenPathWorker *wrkr,
     SWAP(pos_rv[i], pos_rv[j]);
   }

-  // _juncs_to_paths returns the number of paths added
-  size_t n;
   const dBNode *nodes = contig->data;

-  n = _juncs_to_paths(pos_fw, pos_rv, num_fw, num_rv, pck_fw, true, nodes, wrkr);
-  if(n) {
-    binary_seq_reverse_complement(pck_rv, num_rv);
-    _juncs_to_paths(pos_rv, pos_fw, num_rv, num_fw, pck_rv, false, nodes, wrkr);
-  }
+  _juncs_to_paths(pos_fw, pos_rv, num_fw, num_rv, pck_fw, true, nodes, wrkr);
+  binary_seq_reverse_complement(pck_rv, num_rv);
+  _juncs_to_paths(pos_rv, pos_fw, num_rv, num_fw, pck_rv, false, nodes, wrkr);
 }

 static void worker_contig_to_junctions(GenPathWorker *wrkr,

2. Some existing short links were not having their counts updated. If a link
   was found, we stopped added sub-links.

Diff:

@@ -269,7 +272,7 @@ static inline size_t _juncs_to_paths(const size_t *restrict pos_pl,
     #endif

     // If the path already exists, all of its subpaths also already exist
-    if(found && plen < GPATH_MAX_JUNCS) break;
+    // if(found && plen < GPATH_MAX_JUNCS) break;
     num_added++;

     if(gen_paths_print_paths && !printed)

Other Work
==========

src/paths/gpath_hash.c:
* More robust GPHash providing safer multithreaded behaviour.

scripts/CortexLinkCleaning.pm:
* Faster poisson CDF calculations
* Added binomial CDF

scripts/cortex_filter_paths.pl:
* Added 'list' command to get CSV of all paths
* Better stats output