add is_expr. fix contexts, evaluation (works well.)

[is_expr.h]
is_expr checks if type is an expression object. enable_if_expr and
disable_if_expr are wrappers of std::enable_if which checks if type is
an expression object.

[default_context.h]
default_context provides default operators' semantics.

[callable_context.h]
callable_context helps you to define contexts. Chosen expressions are
handled by defined operator () as you like, other expressions are
handled by default context (almost default_context.)

[evaluate.h]
evaluate(expr,context) evaluates given expression object in given
context.

[main.cpp]
Shows how to evaluate expressions in optional contexts.