Make more error 'tolerant'

Not really error *tolerant*, but the basic point is the hmmer output
format is quite unpredictable in some ways, and hmmer isn't really doing
exactly what we want, both of which combine to mean there's many cases
where significant heuristic human input is needed to decided how to
treat special cases. In this commit I switch strategies to treating
these cases as 'no match' and just skipping them. The reason being that
I now think this is a bad approach to the real partitioning problem, but
is an excellent approach to validating the simulator, so I'm now gearing
it more toward the latter.
Add validate.py

Which spits out e-values for each match. It's pretty much ready to use
for validation (I will probably make hists of the e-value for best
match, next-to best match, etc), but I'm going to go back and fiddle
with the simulator first.