For Travis CI - use HEAD instead of $TRAVIS_BRANCH for ci_rebase task.
This is because the detached head may actually move due to API documentation update, so $TRAVIS_BRANCH environment variable may actually just point to HEAD~ in this scenario, which was not good as it would cause CI mirror branches became being pushed twice unnecessarily, one for HEAD~ and one for HEAD.
Using HEAD should work equally well for both normal commit and release tagging commit.
When index buffer data lost, reset index buffer data.
For Travis CI - switch CI build to use OS X build environment.