Deferred defaults for Dash

Its desirable to have Procs that populate a default value for a key in Dash. Consider a key that generates a GUID and/or populates created_at may be wanted for an object:

```ruby
class DeferredTest < Hashie::Dash
  property :created_at, :default => Proc.new{ Time.now }
  property :guid, :default => Proc.new{ rand(10000) } # Crappy GUID, I know...
end
```

This pull request adds support for lazily evaluated defaults to Dash to support this use case.