Correctly generate child tile ranges for XYZ tiles

Instead of incrementing and then doubling, calculate the child tile range by doubling and then incrementing.

With this change, tile coord [0, 0, 0] has the four following children:

    [1, 0, 0]    [1, 1, 0]

    [1, 0, 1]    [1, 1, 1]

Without this change, tile coord [0, 0, 0] had the six following children:

    [1, 0, 0]    [1, 1, 0]    [1, 2, 0]

    [1, 0, 1]    [1, 1, 1]    [1, 2, 1]

    [1, 0, 2]    [1, 1, 2]    [1, 2, 2]

The `ol.tilegrid.XYZ#getTileCoordChildTileRange()` override was added as an optimization in 66f0e0d8e8bd8983897d214ccd91a806c39d8612 (as part of #509).  This when the issue was introduced, and it [survived refactoring](https://github.com/openlayers/ol3/commit/6976fd96e37faf0c8dc8e08b19a1f440066cc7c8#diff-7ae0ead3ce7223df8936f91fba8da0deL47) in #671 and #2539.