Refactor #3922: Remove SET_DIRTY_RECURSIVELY and override setNodeDirty to avoid override all setter function. In this way, getter/setter for CCNode can be used for CCSprite
Correction of number check in _atlasIndexForExistantZ of CCTMXLayer
Refactor #3878: Move temperate getter setter functions into prototype, so that child classes can access them
Refactor #3922: Override getter/setter function defined for cc.Sprite and its child classes
Refactor #3878: Rename CCNode shader to shaderProgram
Refactor #3922: Refactor CCSprite position getter/setter in Action classes
Refactor #3963: Define CCLayer overrided 'size' getter/setter
Refactor #3878: Add opacityModifyRGB getter/setter to cc.NodeRGBA
Refactor #3963: Define CCLayer overrided getter/setter:
opacityModifyRGB
opacity
cascadeOpacity
color
Refactor #3922: Define overrided getter/setter for cc.Sprite and its child classes:
color
opacity
opacityModifyRGB
cascadeOpacity
Refactor #3963: Define Menu and MenuItem overrided getter/setter:
opacityModifyRGB
opacity
cascadeOpacity
color
Refactor #3878: Define overrided getter/setter cc.NodeRGBA's children classes
opacityModifyRGB
opacity
cascadeOpacity
color
Refactor #3922: Refactor CCSprite position getter/setter in engine
Refactor #3983: Define getter/setter for Texture2D
Refactor #3983: Define getter/setter for TextureAtlas
Refactor #3878: Complete missed width & height getter/setter
Refactor #3922: Refactor the rest size getter/setter in engine
Refactor #3963: Reverse change to setContentSize call to avoid bug
Parameter number passed to super will always be 2 even if original height isn't set
Merge branch 'develop' into gettersetter

* develop:
  Refactor #3985: arguments length check replaced by undefined check in extension
  Refactor #3985: arguments length check replaced by undefined check in engine
  Fixed #3916: Extra check for firefox mobile to avoid this issue
  Complete full screen API list
  Closed #3910: Modify vertex attribute flag name to adapt with JSB
  closed #3909: Correct _strStringValue to _stringValue for gui LabelBMFont
  Log when a file cannot be loaded
  fixed #2459: Because the interval attribute of DeviceMotionEvent is read-only and different in every browser, The setAccelerometerInterval function is invalid. So we fixed this bug by calculating interval values.
  Deep-copy verts in drawPoly for consistency
  Created ProtocolAds.js.
  Added analytics plugin protocol. Added Flurry analytics plugin.

Conflicts:
	cocos2d/core/layers_nodes/CCLayer.js
	cocos2d/core/sprite_nodes/CCSprite.js
Merge branch 'develop' into gettersetter

* develop:
  Bug in SceneReader setPropertyFromJsonDict
  Closed #3875: Refactoring cc.FadeIn and cc.FadeOut to fix a bug that its start opacity isn't current value.