parser is now capturing more expressions.

One step closer to the goal of building a full AST.

an expression observer can now know about binary,
unary, ternary operations. Also, expression observer
can know about call arguments to the constructor.
more tests.
new callback for function arguments

function arguments have their own semantics; they
are already initialized
better handling of global and static declarations

new statement classes for global and static declarations.
clean up statement API

made statement class an abstract class by
making the constructor protected
enhanved array AST

array expressions contain a vector of
key-value pair of expressions.
more updates to array AST

array accesses now have an AST, instead of only
capturing scalars.
update include AST

now capturing the entire expression properly
closure AST

capturing closure parameters, lexical variables,
and closure statements.
clean up assignment, assignment list AST

they are expressions, not statements
test that new instance expressions always return fully qualified class
names
add a line number, position to expression types
fix memory leak
set character position on expressions
never qualify class keywords "parent" or "static"
fixes to compile linux; fixed a couple of memory leaks!
get more expression character positions correct
Merge branch 'expression-lint' of https://github.com/robertop/pelet into expression-lint
fixed tests due to a previously bad commit

also, expression function argument callback removes any
reference operator from the variable name
not capturing isset expressions