Common things

Speaking of which...

Move some of the helpers into `X509_common`. (`Common` is visible from `nocrypto` and I need to give it a project-specific name there too, else these things clash across libraries.)

Offering 50p per function that ends up in that module, if its placing there passes code-review. :smile: 
this is not tail rec