Lots of random improvements to the certificate_authority gem

* Use https:// for rubygems.org gem source
* Add activesupport gem for useful helper functions
* Cap not_before and not_after to the hour
* Use UTC for not_before and not_after
* Add support for setting the criticality of extensions
* Add support for producing a CSR based from an extension
* Add support for importing data from X.509 certificate
* Instead of having to list each extension manually, use ObjectSpace magic to dynamically find them
* Add support for parsing extension information from existing certificates
* Add new serialNumber option to the distinguished name
* Convert openssl_identifier method to use a constant
* Correct documentation for AuthorityKeyIdentifier
* Add support for caIssuers in AuthorityInfoAccess extension
* Remove clientAuth from default extendedKeyUsage extension usage
* Add support for deprecated nsComment and nsCertType extensions
* Initialize the serial_number to be a random number (2^128)
* Add support for parsing extension information from existing CSRs
* Require a private key before trying to produce a valid CSR
* Add/update some tests

TODO: Tests for all my changes
use https for rubygems
make self.from_openssl public
make sure tempfile is always closed
simplify load_extensions
add email to subjectAltName
Merge branch 'fixes' of https://github.com/pmenglund/certificate_authority into integration

Conflicts:
	lib/certificate_authority/certificate.rb
Removed ObjectSpace so certificate_authority plays nice on jruby
Merge branch 'subject_alt_name' of https://github.com/pmenglund/certificate_authority into integration

Conflicts:
	lib/certificate_authority/extensions.rb
	spec/units/extensions_spec.rb
Extensions cleanup and support for subjectAltNames on SigningRequest.

These changes have been a *long* time coming.

Extensions finally support object equality.

Extensions will parse correctly from (highly limited) sample size
so will likely need to be extended. Unfortunately, due to asymmetric
set vs parse in OpenSSL you can't parse a cert with an extension you
want and copy it to a new cert.

Conveniences around creating subjectAltNames for CSRs.