Fix a couple warnings
Use anonymous classes when possible
Add Git attributes

This will perform newline normalization across Windows, Mac, and Linux.
Use random file names
fix #29 by setting the values passed to new to their filtered versions

Values passed to `new` are filtered so the attribute readers return the
filtered version of the value in `execute`. I did this on `new` so that
in `execute` the values could be set to anything. I didn't want to
create a type system inside Ruby that the class developer would have to
adhere to. We're just guaranteeing that they are given to the dev
correctly.
remove unnecessary assignment
version bump to 0.1.2
Merge branch 'master' into 0.2.0