Added comments and created a #emitMarginEvent function on #marginGetterSetter
Added the 'neighbors' property to the zone object and created the corresponding module
Passed a 'neighbors' parameter to neighbors#createRelationships and defined the object to return on invocations
Replaced the undefined value with a 'defaultNeighbor' variable.
Added the 'key' property to watched elements
Changed the visibility property from horizontal/vertical to x/y/z
Modified limits, scope and handover margins when the zone coordinates are changed
Modified the scope margins when the visibility of an axis is changed
Modified bookin and checkin margins when the handover property is changed
Added assertions to test cases covering changes to the visibility and handover properties
Added assertions on changes to a zone's coordinates