Adds a first pass at a DSL parser for rivet configuration
Integrates new DSL, Complete rewrite of the bootstrap class, Adds autoscale options.

Adds two new features to the OpenState class.  Provides the ability to add
required fields and default values for them.  Adds a new class instance variable
which returns all attributes that have been added to the OpenState instance.

Adds a new path method to the Config object which returns the path to the
directory containing the DSL definition files.  This should provide an easy way
for users to reference the config directory in the event they want to store
other non DSL (E.G. template) files in there and not use absolute paths.

The bootstrap class now simply reads the bootstrap object from the config class.
It then passes this binding to whatever template is provided.  This allows much
greater flexibility and removes logic about what should go in the user data from
the code.

Refactoring of the autoscale class to be less disgusting and adds in all currently
available configuration options.  It also provides "defaults" for many options
which are identical to the defaults AWS provides if you don't specify any.

Replaces options hash with an OpenStruct object.

Minor style changes like removing of parenthesis were not needed.

Bumps the version to 2.0.0
Adds ruby 2.1.0 to the travis file and removes rbx-head.
Minor bug fixes and code cleanup.
Adds the ConfigProxy class.

This class is meant to make it easy to normalize config data without having to
mutate the state of the config objects.  It calls the normalize method for a
config option if it exists.
Adds the aws autoscale wrapper class.

This class uses the ruby aws SDK to and wraps the selected autoscaling group
with an interface that matches rivet's autoscale class.
Uses new common interface for autoscaling groups.  Shifts normalization to the config class

This commit shifts responsbility for normalizing data into the config class.
Instead of forcing the data to always be normalized in the config class itself,
there is a config proxy class which will check to see if a normalize method
exists and call it if it does.

Adds a fix for tags not being updated if there were removals.
Adds additional logging.  Fixes respond_to bug in aws_autsocale_wrapper for ruby 2+
Updates example files
Fixes bug when passing certain empty arrays on autoscale group creation
Updates the README so people at least have a vague idea of how to use the DSL
Returns an empty string for userdata if no template is provided.
Additional debug logging for bootstrap class
Even more debug logging to bootstrap class
Rewrites all of the existing unit tests to be valid for Rivet 2.0
Updates the Gemfile.lock for rubinius
Moves the OpenState class into it's own file.
Removes redundant attr_accessor from config class
Adds rspec tests for the Rivet::Config class
Adds ruby 2.0.0 to travis testing