Implementing a cleaner unitigger for finding
bubbles/bundle/compound path. The goal is to
have a better internal graph data structure
for supporting explory study using the string
graph / assembly graph for understand complicated
regions.  The current code work extremly well
for haploid genome. For example, it can generate
N50 8.79Mb assembly using the p-reads generated
earlier (2014 spring) with blasr + dagcon for
CHM1. Here is the statistics:

Contig Stats
Seqs   6992
Mean    404,759
Max     58,477,356
Total   2,830,079,325
n50     8,791,114
n90     807,881
n95     217,723

Two largest contigs are longer than 50Mb and
the assembly structure correctness of the largest
contigs is validated by a whole genome alignment
of the assembly against GRCh38.

However, for diploid genome (e.g. Arabidopsis
Col-0 + Ler-0), it does not perform as well as
the older falcon_asm.py code. Currently, the
finding of the bubbles/bundles is on the raw
string graph level. It may not be efficient for
those big bubbles from the diploid genome data.
Also, missing links in big bubbles create
long spur which needs to be fixed to get better
results.
This is the correct version,
The bubble size limit is smaller and the tip boundary condition is
fixed.
fix a bug: add s or t nodes back when compound paths are removed
Some big changes.
(1) generate preliminary utg before bubble finding for constructing
compound paths
(2) properly deal with the duality of the bubbles. If there is no
dual bubbles found, it means there are some "branching" in the bubbles.
We ignore those bubble for now to avoid inconsistent results.

This version generates an assembly for CHM1 from the same overlapping
data with a decent and smaller N50. However, it is worth to move to
this new way finding bubbles and improve the continuity with later
stage graph processing.

Contig Stats
Min     13
1st Qu. 7504
Median  13864
Mean    403090
3rd Qu. 35625
Max     54206595
Total   2822437070
n50     8016858
n90     796399
n95     214666
Several important changes from algorithmic point of view
(1) bundle/bubble resolution, now, we keep bigger one and eliminate
overlapped smaller one. It is important to keep the duality-symmetry of
the graph in the process.
(2) Switch to more greedy layout but without finding the global highest
score path yet. There is actually some good and simple theory behind why
the greedy layout works and it will not generate mis-assembly for most
of the cases. I will need to document it in more detail someday.

The stats of this code applying on CHM1 testing dataset:

Contig Stats
Max     80735125
Total   2823535076
n50     8266465
n90     816396
n95     257055

The largest contig is > 80Mb mapped to chr2 in one piece.

For the diploid testing data set, while it did not beat the previous
more agressive greedy layout, it gets decent assembly N50 = 2Mb for
ler-0 + col-0 now.
organize the code for v0.2.1 into single directory so it will
be easy to track and deploy.

New fc_ovlp_to_graph.py replacing the falcon_asm_v2_dev.py.
It keeps all graph edge infomation in its output now.

A new class for reading the output from fc_ovlp_to_graph in fc_asm_graph

fc_ctg_link_analysis.py is a code as an example analyzing "missing
links" between contg.

fc_graph_to_contig.py replaces gen_contigs.py

a new python multi-processing base overlap filtering code replace
old script using parallel and 3 seperate python scripts
remove the file as it is replaced by fc_graph_to_contigs.py
add mandatory options for specifying max_diff_cov, max_cov and min_cov
filtering parameters
add min_len option
avoid same reads used multiple time in error correctino proecess

when limiting the number of reads for error correction, using the
longest n sequences (in fact, those should be the longeest overlapped
part) first
Preliminary integration with the HBAR_DA.py script
setup for v2, remove the dependence for pbcore for v2

pbcore is still needed for v1 but v1 is going to be obsoleted soon.
fix those dependence ignored in the earlier iterations
fix a trivail bug moving an empty files

make bog as the default rules for resolving local repeat

the local flow contraint seems peforming worse on average case

keep local flow contraint option for future experiment
change HBAR -> fa_run
add unfinished draft of the manual (Well, it is Sunday...)
add a helper to pull out the overlap statistics
remove un-used option
wrap debugging output
document update
add missing "cns_done"