Unify `cattr_*` interface: allow to pass a block to `cattr_reader`.

Example:

    class A
      cattr_reader(:defr) { 'default_reader_value' }
    end
    A.defr # => 'default_reader_value'
Merge pull request #10848 from 907th/add_block_to_cattr_reader

Fix #10847: allow to pass a block to `cattr_reader`.