use default hmm init/emit/step etc functions to reduce code duplication

 - a lot of the cross types with two genotypes (riself, dh, haploid,
   etc.)  have very similar basic HMM functions. If I make those the
   defaults, there's a great reduction in code. (e.g., dh and haploid
   don't need .cpp files anymore.)
Small change to ReadMe [skip ci]
convert2cross2: forgot to convert NAs to 0s; also forgot to test genotypes
Use kbroman.org/qtl2 in ReadMe and DESCRIPTION [skip ci]
Add a bunch to the developer guide
Beginnings of a vignette describing the input files
links to vignettes within R docs