Added default values

Solves #7 and could easily be extend to solve #20 (making #30 obsolete perhaps, didn't look too close).

Currently I treat the default value as transient / sth. that is evaluated once (and not cached) in the getter. So before merging we should agree on whether

1. the value should get cached (currently: not)
* `present?` etc. should return always true for default value (currently: not)