pure code motion

Organize tasks logically from smaller to larger ones.

Also, imperative names for predicates are confusing.
separate out hack-part from the real part
the comment is _already_ stale.
Merge pull request #26 from mirleft/xxif

cleanup cert validation