support for replace video source file

Support added for replacing video source file

`v.replace('video_uri', 'myvideo.mp4', 'redirect_url')`
Looking back on this, I think that we can save more code duplication since the ONLY difference between the uploads is the URI.

We should make `_perform_upload()` take the URI to create the ticket with that `replace()` and `upload()` build.  `replace()` should do this with a const on the class that contains a string formatting expression utilizing the video URI.

Also, `redirect_url` does nothing for streaming uploads, so it should be totally dropped.

```python
class UploadMixin(object):
    REPLACE_ENDPOINT = "{video_uri}/files"
<snip>
    def replace(
            self, video_uri, filename, redirect_url, upgrade_to_1080=False):
        uri = self.API_ROOT + self.REPLACE_ENDPOINT.format(video_uri=video_uri)
        self._perform_upload(self, ticket_target, filename, upgrade_to_1080)
```

Similar changes should be made to the `upload()` function.