Initial reorganization to prepare for additional functionality

Rivet will gain the ability to launch ec2 instances as well as ASGs.
This commit creates a common folder for shared libraries between the two
sections.  It also starts renaming things that are no longer appropriately named
Futher reorganization and renaming of classes in preperation for addition of EC2
Extracts out shared AWS instance attributes
Abstracts common features for autoscaling and ec2 configuration classes
renames a file that was poorly named
Reorganizes unit tests for config classes
Adds rubocop to the development dependencies and updates yml file for new ver.
Reorganizes specs
fixes the shared example so that the DSL content is passed in via a let attr.
Bug Fix: atrrs with the value of false in a launch config will not be set as nil
Abstracts out shared DSL values between ASG's and EC2 in spec helper
Factors out DSL content into ASG and EC2. Adds a generate_config content method
Removes duplication of a method inherited from BaseConfig in AutoscaleConfig
Initial implementation of Ec2Config class plus unit tests
Removes left over cruft in .rubocop.yml
Creates both a common client and configuration retrevial for autoscale / ec2
Updates unit tests for Rivet::Util
First pass as Ec2 class to launch EC2 servers.
Adds user-data to EC2 launching.  Reworks applying tags
Updates readme for EC2 functionality