README code examples

Fixes some examples in the README and adds ruby syntax highlighting.
There is no need for a property to store it's last value!
Fixes spec that was breaking with Ruby 2.0

#respond_to? no longer returns true for protected methods in Ruby 2.0 except you instruct #respond_to? to consider protected methods, as well.
Adds support for dynamically required properties

By specifying a block instead of a boolean value, the decision whether a property required or not can be delayed and executed at runtime.
Adds a paragraph about "dynamically required properties" to the README
Merges feature "dynamically required properties"
Adds a paragraph about blocks and default values to the README
Updates version: v1.2.3 -> v1.3.0
Release v1.3.0