adding :default_call and :default options to class_attribute

Instead of starting up discussion about it on core list, wanted to submit so you could see a suggestion for class_attribute.

I know that currently default value can be done via just `self.name_of_attribute = (some value)`, but I need the ability to call a proc and get its value, where in my case the value is dependent on the class name where the module that uses class_attribute is located, so I thought it might be nice to go ahead and have an option for both a default value and a default proc to call to get the default value of one or more attributes, but most likely just one. Could potentially change to take a block, but that might not be as clear as to the intent of the block.

Suggestions welcome.