Fixed bug with TileLayer.setUrl()

See https://github.com/Leaflet/Leaflet/issues/2675.

After changing a `TileLayer` url with `setUrl()`, `_abortLoading()` needed to be called during `_reset()` to prevent lingering callbacks from decrementing the `_tilesToLoad` counter.

Also, the `complete` attribute of tiles is somehow getting set to `true` when they are given bad `src` urls (e.g. by passing an empty string into `setUrl()`). This prevented `_abortLoading()` from disabling the tiles' `onerror` and `onload` callbacks (now fixed).