Fix checkout command (bug 1058536)

This fixes checkout to use the moz repos as the clone source.
It defaults to calling moz repos `upstream` and forks `origin` you can override this with command args.

e.g: default command usage would be:

`bin/mkt checkout`

For people with inverted upstream/origin this would work:

`bin/mkt checkout --moz_remote_name=origin --fork_remote_name=upstream`

This also makes sure the branch.master.origin setting in the local repo is set to match your fork (so the default for push is sane)

Lastly there's a new command to check the trees setup.

`bin/mkt chkgitconfig`

Here's example output (This is with inverted upstream/origin - which isn't the default)

```
[fireplace]
  [remotes]
    origin  git@github.com:mozilla/fireplace.git (fetch)
    origin  git@github.com:mozilla/fireplace.git (push)
    upstream        git@github.com:muffinresearch/fireplace.git (fetch)
    upstream        git@github.com:muffinresearch/fireplace.git (push)
  [Master branch origin]
    upstream

[spartacus]
  [remotes]
    origin  git@github.com:mozilla/spartacus.git (fetch)
    origin  git@github.com:mozilla/spartacus.git (push)
    upstream        git@github.com:muffinresearch/spartacus.git (fetch)
    upstream        git@github.com:muffinresearch/spartacus.git (push)
  [Master branch origin]
    upstream
```

r? @andymckay 
A few lines here over 80