4.7: Henning's Monster Diff

Major rewrite by Henning Brauer, shrunk the code, made it faster, plus

Downstreams have been slow to pick up - as of June 2015, FreeBSD and friends stuck at approx. OpenBSD 4.5 code.