bugfix for executer.py and phpfunction.py
Merge branch 'master' of https://github.com/g-i-o-/pyphp

Conflicts:
	pyphp/executer.py
	pyphp/phpfunction.py
Files Modified:
pyphp/coerce.py
    added to_string function
pyphp/compiler.py
    modified prepr to a compatible interface with the prepr module
pyphp/errors.py
    added class StopExecutionError(ExecuteError) for halting an execution (such as in an error or when die gets called.)
pyphp/executer.py
    now keeps track of the last visited node and scope
    error types now have a severity value wich determines if the error is fatal
    fatal errors now halt execution
    execute() now catches errors and prints out debugging information in the executer's last known state
    new has_val() method checks for existance of a value reference
    bugfix in exec_bit_and_expression():
    keyword literals (true, false, null) are now recognized as hardcoded primitives, instead of being looked up in the local scope
    interpolated strings now use coerce to coerce values to string
    interpolated strings now use coerce to coerce values to string
    VarRefs now have a particle member, which specifies the way they are referred from their context (scope lookup, static member, member or array lookup)
    functions and classes are now defined in the global scope, instead of the local one
    bug fix on default function arguments when the value evaluates to boolean False
    apply_array_indexing_follower now fully evaluates the array inde from the follower node, instead of just getting the value reference
    improved error reporting
    added logic for adding arrays
    string concatenation now uses coerce.to_string to coerce its values
pyphp/parser.py
    file is now refered to by it's absolute path (as in php)
pyphp/phparray.py
    added array addition
pyphp/phpbuiltins/lang.py
    bug fix in isset() builtin function
    added empty() builtin function
    added die() builtin function
    bug fix in var_dump() when displaying True and False values
pyphp/phpbuiltins/string.py
    finished str_replace() builtin function
    added strtolower() builtin function
pyphp/phpclass.py
    separated instance and static class members
    now, class holds VarDef's default values instead of the defined VarDefs (may change in future)
    now, can't set calss member if they were not previously defined.
pyphp/phpfunction.py
    call scope is now named fncall-scope
pyphp/scope.py
    added prepr method to scope, as per the prepr interface
pyphp/trace.py
    trace now uses prepr for printing the function arguments
pyphp/varref.py
    VarDef.is_static() is now True for 'const' variables as well
    Added particle member to VarRef, which indicates it's relation to it's context
    If a VarRef points to a VarDef, get() returns the VarDef's value instead of the VarDef.
    added VarRef.isset(), which checks whether the VarRef points to something.
    VarRef.__getitem__ now returns a relative VarRef with particle '[' (meaning array indexing)
    added VarRef.getitem(), for returning relative VarRefs with custom particles
    added prepr() method
    added qualified_name() methos, which returns a qualifies name for this variable reference
Files added:
pyphp/phpbuiltins/primitives.py
    defines php keyword literal primitives along with their python bindings (true is True, null is None, etc...)
pyphp/prepr.py
    defines a function for creating pretty repr strings out of any object. If the object has a prepr(depth, dchr) method, such method is called.
pyphp/test/test_add_operators.php
    unit test for addition operators
pyphp/test/test_die.php
    unit test for the die function
pyphp/test/test_error_call_undefined_function.php
    unit test for errors when calling an undefined function
pyphp/test/test_function_params.php
    unit test functions and their parameters
pyphp/test/test_isset.php
    unit test for the isset function