parse lambda expression and add tests for it
do refactorings and fixes for lambda expression parse rule
fix lambda expression parse error

by modifying the priority of one-expression and multi-expression
add more tests for lambda expression
fix stringizing lambda expression node
check semantics of lambda expression

add lambda_instantiation_map to semantics context, which preserves the
relation between lambda's type and the nodes which is actually emitted
by emitter.  This is needed because lambda type is treated as struct
type to capture variables temporarily.  So, on re-implementing lambda
object, I should consider about the instantiation map and how to treat
lambda object. (All lambda object may ought to be treated with the
instantiation map.)
emit struct for lambda expression
add semantics test for function invocations (including lambda)
fix forgotten return statement causes SEGV
check if captured symbol is invalid
fix that invalid capture in do-end block causes SEGV
fix SEGV on invalid lambda invocation
add some tests for lambda expression
fix error handling on lambda object generation which won't be used
analyze lambda capture object with lambda expression's way

related issue: #17
fix error detecting on analyzing lambda capture object
add tests for unused blocks
add a test for unused lambda expression
use helper for value detection in map
Merge commit '888c7de'