Abstract out the crypto packages used

  Seperating out none docker specific calls to the golang stdlib
  crypto/..., then we provide ourselves with an ability to have drop-in
  replacements of backends.
  I've included the openssl drop-in replacement. To use it, install
  openssl devel packages and  include the build flag:
```
  	cd ./docker
	go build -tags "net openssl" .
```
  and the binary will be linked to libssl and libcrypto for these
  functions.
  Best to install the static development bits for openssl, as dockerinit
  links as well.

Note: This is just a milestone for having switchable backends for crypto, as some uses are indirect (e.g. net/http.RoundTripper uses crypto/tls)