initial work on refactoring extensions and config

A woefully incomplete list of changes
* Every extension now has to_h and to_yaml methods
* Every extension can now build every generalname type
* SubjectItemPolicy/Subject now have to_h and to_yaml
* CertProfile now builds extensions and stores them
* ProfileEnforcer now consumes built extensions (WIP)
* Many attr readers have changed on the extensions
* YAML configs are very different
* more...
split extensions into separate files (finally)

This is going to make my life way less annoying.
move policy objects, better test coverage

R509::ASN1::* policy objects now live under
R509::Cert::Extensions::CertificatePolicies::*

Added test coverage for several to_h/to_yaml methods and improved the
testing on R509::Engine.instance.load
refactor extension validation mixin + better test coverage

* tests for error conditions in extension building validation (this is
  re-adding tests that were previously removed + writing new ones)
* added additional test coverage in several places
* moved R509::ValidationMixin to R509::Cert::Extensions::ValidationMixin
  and moved most of the code into the individual classes as we're no
  longer trying to validate in multiple spots.
* More (as always)
Add a new rake task called ntspec which executes rake spec but

suppresses the rake stack trace to annoy me less while i'm testing
add to_h methods to GeneralName/GeneralNames and refactor SAN extension

* SAN now behaves like the other extensions for creation/error.
* More tests
R509::ASN1::GeneralName improvements + docs

* Fixed GeneralName creation so it creates an R509::Subject when passing
  a dirName
* Added tests for creation of GeneralName objects via hash.
* Removed a bunch of pointless @private statements in the docs
* Started updating the readme (WIP). Removed all extension YAML docs.
modify R509::ASN1::GeneralNames to take a param in the constructor

This allows AIA, CDP, and SAN extensions to be simpler.

Also update the CP docs and change stub! to stub in spec tests to remove
deprecation warning
add tests for R509::ASN1::GeneralNames constructor arg
improved docs [ci skip]
readme updates, doc fixes, yaml key changes, new to_yaml methods

* README updates to capture the new behaviors in the API
* Documentation updates in various places
* crl_list and crl_number in the YAML are now crl_list_file and
  crl_number_file
* Added to_h and to_yaml methods to CAConfig and CAConfigPool
readme update [ci skip]
remove some unneeded lines in fixture yamls
documentation improvements [ci skip]
experiment to add coveralls.io
add coveralls.io badge to README [ci skip]
fix Gemfile to pull via TLS (thanks to reedloden for the reminder)
expand test matrix to cover UNDEF and EC unsupported code

* add 1.9.3-p0 to testing matrix (tests UNDEF)
* install ubuntu openssl packages that have no EC support (custom PPA)
  to test EC unsupported pathing
Merge pull request #60 from reaperhulk/extension-config

Extension + Config Refactor