Phalcon\Session\Bag::__get() returns by reference

Close #1895
Test case for #1895
Updated CHANGELOG
Updated test cases
&__get() should create a property when it does not exist
Use object handlers in Phalcon\Session\Adapter
Add remove() to Phalcon\Session\BagInterface
BP_VAR_W/BP_VAR_RW should not return NULL
Optimized Phalcon\Session\Bag
object_properties_init() for PHP 5.3
Properly initialize objects in PHP 5.3
Phalcon\Session\Bag implements IteratorAggregate
Phalcon\Session\Adapter implements IteratorAggregate, Countable
arginfo optimization
Phalcon\Session\Adapter implements ArrayAccess
Handle null offset in phalcon_update_property_array()
Phalcon\Session\Bag implements ArrayAccess, Countable
Updated tests
Updated CHANGELOG [ci skip]
Merge pull request #1917 from sjinks/issue-1895

Phalcon\Session\Adapter and Phalcon\Session\Bag improvements