Property Accessors with Automatic Implementations, Interfaces and more.

Also includes Asymmetric Accessor Accessibility
Traits, static accessors, read-only, write-only, inheritence, overloading, final
Reflection for Property Accessors

getGetter(), getSetter(), isReadOnly(), isWriteOnly() and all other property methods already defined by ReflectionProperty.
CHANGE: read-only/write-only are now manditorally inherited and must be declared in child accessors.  This brings this implemention in line with the original RFC intentions.
Changed strcatalloc() to use emalloc & memcpy
Fixed some CODING_STANDARD and indentation issues.
ANSI C compliants changes.
Switched to ecalloc rather than emalloc()/memset()
Changed up strcatalloc() to pass in lengths of strings for concatenation
Changed usages to use ZVAL_STRING, also added MAKE_ZNODEL for efficient use of string lengths when known.
Missed a TSRMLS_CC
ADDED: Failing tests on operators for accessors.
BUGFIX: Missed a change for getters which was causing operators test to fail.
ADDED: &= and |= to operators test.
BUGFIX: double-release
ADDED: E_WARNING if an interface attempts to define an implementation for an accessor.
BUGFIX: Fix for memory leak was not quite right, fixed.
ADDED: Return by reference for getters, warning for setters, tests.
Changed the way getter/setter flags were being stored, to reduce use of fn_flags.

fn_flags was out of room and needed two more slots.  Added purpose to function and common to indicate a single purpose of the function (getter/setter) and soon to be issetter/unsetter.
ADDED: IS_ACCESSOR() macro
Added default and auto implementations of isset/unset but with _unset and _isset tags at the moment.

Added tests for non-static isset/unset functionality, static needs to be tested.
Added default and auto implementations of isset/unset but with _unset and _isset tags at the moment.

Added tests for non-static isset/unset functionality, static needs to be tested.