(PE-5344) Modifications to AuthKeyIdentifier and BasicConstraints exts

This commit includes the following extensions changes:

* Modified the mapToBasicConstraints method to support not specifying a
  value for `path_len_constraint` for a CA.  This allows the constraint to not
  define a limit for the number of intermediate certificates that may
  follow the CA in the certification path.

* Separated the `basic-constraints` Clojure function into
  `basic-constraints-for-non-ca` vs. a `basic-constraints-for-ca`
  functions.  This accounts for the differences in possible parameters
  for these two cases.  The critical parameter only needs to be
  specified for a non-CA because for a CA, it needs to be `true` per
  RFC-5280.  The `max-path-len` is only supported for a CA and even then
  is optional.

* Modified the mapToAuthorityKeyIdentifier method to allow the CA serial
  number and distinguished name (issuer) to be added to the generated
  extension.

* Split the `authority-key-identifier` function into different arities
  which would support specification of an issuer-dn, serial number,
  public key, and critical flag for the legal supported combinations.
(PE-5344) Added support for the CRLNumber extension

This commit adds support for the creation of a CRL number extension.  It
includes a `crl-number` Clojure function which produces an extension map
which can be included as another extension in the extensions argument in
a call to `CertificateAuthority.signCertificate()`.
(PE-5344) Documented the CRLNumber extension in the README.md

This commit includes a section in the `README.md` for the newly
supported CRLNumber extension.
(PE-5344) Documentation updates for extensions and some cosmetic updates

This commit includes some additional documentation in the `README.md`
around the inputs and outputs for the Basic Constraints and Authority Key
Identifier extensions.

This commit also addresses some pull request comments on cosmetic issues
in the source code.
(PE-5344) DRYed out authority-key-identifier Clojure function

This commit extracts some of the redundant map setup in the different
arities of the `authority-key-identifier` function into a helper
function, `create-authority-key-identifier`.  The helper function takes
advantage of the fact that the underlying Java method that interprets
the map was already able to handle the absence of a key in the map vs.
the presence of the key but with a null value as being equivalent.
Merge pull request #30 from camlow325/feature/master/PE-5344-add-extensions-for-master-ca-crl

(PE-5344) Cert extension changes to support generation of Master, CA, and CRL certs