Add some helpful metaprogramming for adding attributes w/ validation.

The 'configurable' was implemented with tests simultaneously so I have
reasonable confidence in their deliciousness.

At some point, this 'configurable attribute' thing is going to look
a lot like clamp, etc, but as clamp is primarily for CLI, and I
am wanting something more API-friendly, here we are!

Example:

    class Foo < PleaseRun::Base
      attribute :some_special_thing, "What it is", ... do |value|
        # validate 'value'
      end
    end

    f = Foo.new
    f.some_special_thing = "somevalue" # performs validation
    f.some_special_thing # reads the value

I do expect somewhere down the line to have this map directly to
clamp options once the pleaserun CLI is getting worked on.