deprecate Definition#options.
remove Definition#clone as Hash does it for us.
bakup.
move inline tests to inline_test.
Merge branch 'master' into uber

Conflicts:
	test/inline_test.rb
a definition is considered typed now as soon as [:extend|:class|:instance] is set. in earlier versions, when :class was set exclusively (no :extend, etc), it would be typed only when class.is_a?(Class), which was wrong for :class => lambda.
more CHANGES.
document more undocumented features.
test undocumented features.
implement :class with Value.
make :instance a Value.
all options evaluated via represented_exec_for are Value now.
wip, need to refactor :inherit.
better inheritance: inherit: true will really reuse the parent Definition instance (or, a clone thereof) making it better following ruby's object model.
don't pass inherit: into merge! anymore.
remove Def#call_proc_for, which was the intended goal of this refactoring.
introduced `:use_decorator` option to force an inline representer to be implemented with a Decorator even in a module. This fixes a bug since we used the `:decorate` option in earlier versions, which was already used for something else.
use #evaluate_option everywhere in Binding (used to be #represented_exec_for).
we need #evaluate_option only once :)
make Definition#[]= private as people are supposed to use #merge!.