**Breaking changes**
Internal functionality relating to remotes have been reorganized to avoid implicit behavior.
- `~libvcs.git.GitRepo` methods have been renamed, they will be deprecated in 0.5:
- `GitRepo.remotes_get` renamed to `libvcs.git.GitRepo.remotes()`
- `GitRepo.remote_get` renamed to `libvcs.git.GitRepo.remote()`
- `GitRepo.remote_set` renamed to `libvcs.git.GitRepo.set_remote()`
- `~libvcs.git.GitRepo` the `remotes` argument is deprecated and no longer used. Use
`libvcs.git.GitRepo.set_remote` after repo is instantiated.
- `libvcs.git.GitRepo.obtain` no longer set remotes based on a `dict` passed to
`~libvcs.git.GitRepo`. This was deemed to specialized / implicit.
- `libvcs.git.GitRepo.set_remote()` (formerly `remote_set`)
The new method accepts `name` and `url` (in that order). `name` no longer has a default value (was
`origin`).
- `libvcs.git.GitRepo.remote()` (formerly `remote_get`):
- `remote` argument renamed to `name`. It will be removed in 0.5.0
The default value of `'origin'` has been removed
- Now returns `~libvcs.git.GitRemote` (a :py`collections.namedtuple` object)
The tuple is similar to the old output, except there is an additional value at the beginning,
the name of the remote, e.g. `('origin', '<fetch_url>', '<push_url>')`
- `libvcs.git.GitRepo.remotes()` (formerly `remotes_get`) are now methods instead of properties.
Passing `flat=True` to return a `dict` of `tuple` instead of `dict`
- New method: `libvcs.git.GitRepo.get_git_version()`
- New method: `libvcs.git.GitRepo.get_current_remote_name()`