Remove a bunch of checks of data in the basic hmm functions

 - We pass the true genotypes, so they shouldn't be invalid; the extra
   checks just slow things down.

 - Invalid "observed" genotypes can just be treated as missing
   (and should have been removed in advance)

 - Now the check_geno function returns true or false; never an error.
   This makes it more useful (e.g., to check the genotype data from R!)

 - In the init, step, nrec functions, I left in code to check for valid
   genotypes (and give an error if not), but use "#ifdef DEBUG" so that
   it's not included (but _could_ be included for debugging purposes.

 - Had to revise a bunch of the tests: removing ones that were expected
   to give an error, looking for true/false from check_geno, and
   expecting emit to return 0 if the observed genotype is invalid
vignette developer.Rmd -> developer_guide.Rmd