Model#push can accept a class to instantiate

If the first argument is a Class, it will call new on that class and pass it the rest of the argument. If the first argument is an instance derived from Model, it will convert the remaining parameters to a Transformation, apply the transformation to the instance, and then push it.
Updates for the latest Geometry changes

Rectangle#new requires named arguments
Tell bundler to get the sketch gem from GitHub
Require sketch v0.1
Configured for Travis-CI
Added a translate command to the DSL

Started moving DSL-related stuff into a dedicated module
Finally added some README content
Changed the extrude command to require either a block or a sketch argument

It now throws an ArgumentError if it doesn't get one of the two
Model::Builder should use its own push instead of the model's
Removed Model#add_extrusion

Obsoleted by Model#push
Added DSL methods for defining attributes
Updated the copyright notice
Added a 'length' command to the Extrusion DSL