Severe performance issue tracking a complex sketch file
<!--

Have you read Kactus's Code of Conduct? By filing an Issue, you are
expected to comply with it, including treating everyone with respect:

https://github.com/kactus-io/kactus/blob/master/CODE_OF_CONDUCT.md

-->

<!--

Please summarize the issue in the title, and then use the template below to
fill out the details so we can reproduce the issue on our end.

-->

### Description

Things like loading the repo, loading a file diff, expanding the file tree, refreshing the view on app focus all take extremely long (10-20 or more consitently)

### Version
0.2.5 0.2.6
<!--

What version of Kactus are you running? This is displayed under the
`About Kactus` menu item. If you are running from source, include
the commit by running `git rev-parse HEAD` from your local repository.

-->

**Kactus version:** 0.2.5 - 0.2.6

<!--

The operating system you are running on may also help with reproducing the
issue:

 - If you are on macOS, launch `About This Mac` and write down the OS version
   listed.
 - If you are on Windows, open `Command Prompt` and attach the output of this
   command: `cmd /c ver`

-->

**OS version:** MacOS 10.12.6

### Steps to Reproduce

Try to work with a complex Sketch file

<!--

If the issue involves a specific public repository, including the information
about that repository will make it is easier to recreate the issue.

If you think screenshots or a GIF recording will help demonstrate the issue
better, feel free to add them here.

-->

**Expected behavior:** [What you expected to happen]

**Actual behavior:** [What actually happened]

**Reproduces how often:** [What percentage of the time does it reproduce?]

### Logs
2017-08-31T07:57:55.383Z - info: [ui] Executing getStatus: git status --untracked-files=all --branch --porcelain=2 -z (took 7.239s)
2017-08-31T07:58:17.057Z - info: [ui] Executing getRemotes: git remote -v (took 21.128s)
2017-08-31T07:58:17.065Z - info: [ui] Executing getAuthorIdentity: git var GIT_AUTHOR_IDENT (took 21.131s)
2017-08-31T07:58:17.066Z - info: [ui] Executing getCommits: git log HEAD --date=raw --max-count=100 --pretty=%H%x1F%s%x1F%b%x1F%an <%ae> %ad%x1F%P -z --no-color --not --remotes (took 21.147s)
2017-08-31T07:58:20.401Z - info: [ui] Executing getStatus: git status --untracked-files=all --branch --porcelain=2 -z (took 3.304s)
2017-08-31T08:10:03.107Z - info: [ui] Executing getStatus: git status --untracked-files=all --branch --porcelain=2 -z (took 9.167s)
2017-08-31T08:10:33.936Z - info: [ui] Executing getRemotes: git remote -v (took 30.385s)
2017-08-31T08:10:35.598Z - info: [ui] Executing getAuthorIdentity: git var GIT_AUTHOR_IDENT (took 32.042s)
2017-08-31T08:10:35.598Z - info: [ui] Executing getCommits: git log HEAD --date=raw --max-count=100 --pretty=%H%x1F%s%x1F%b%x1F%an <%ae> %ad%x1F%P -z --no-color --not --remotes (took 32.056s)
2017-08-31T08:10:35.769Z - info: [ui] Executing getStatus: git status --untracked-files=all --branch --porcelain=2 -z (took 32.727s)
2017-08-31T08:10:36.231Z - info: [ui] Executing getStatus: git status --untracked-files=all --branch --porcelain=2 -z (took 33.695s)
2017-08-31T08:11:03.361Z - info: [ui] Executing getRemotes: git remote -v (took 26.680s)
2017-08-31T08:11:03.364Z - info: [ui] Executing getRemotes: git remote -v (took 27.140s)
2017-08-31T08:11:04.998Z - info: [ui] Executing getAuthorIdentity: git var GIT_AUTHOR_IDENT (took 28.312s)
2017-08-31T08:11:04.998Z - info: [ui] Executing getCommits: git log HEAD --date=raw --max-count=100 --pretty=%H%x1F%s%x1F%b%x1F%an <%ae> %ad%x1F%P -z --no-color --not --remotes (took 28.324s)
2017-08-31T08:11:04.999Z - info: [ui] Executing getAuthorIdentity: git var GIT_AUTHOR_IDENT (took 28.773s)
2017-08-31T08:11:05.009Z - info: [ui] Executing getCommits: git log HEAD --date=raw --max-count=100 --pretty=%H%x1F%s%x1F%b%x1F%an <%ae> %ad%x1F%P -z --no-color --not --remotes (took 28.786s)
2017-08-31T08:11:05.048Z - info: [ui] Executing getStatus: git status --untracked-files=all --branch --porcelain=2 -z (took 29.460s)
2017-08-31T08:11:33.446Z - info: [ui] Executing getStatus: git status --untracked-files=all --branch --porcelain=2 -z (took 28.460s)
2017-08-31T08:11:35.231Z - info: [ui] Executing exportCommit: git archive c7b302dcc4addc7240880d2256b4a1c40e7fc094 -o /Users/timo/Library/Application Support/Kactus/previews/2/c7b302dcc4addc7240880d2256b4a1c40e7fc094.tar (took 1.818s)
2017-08-31T08:11:38.969Z - info: [ui] Executing exportCommit: git archive c7b302dcc4addc7240880d2256b4a1c40e7fc094 -o /Users/timo/Library/Application Support/Kactus/previews/2/c7b302dcc4addc7240880d2256b4a1c40e7fc094.tar (took 1.148s)
2017-08-31T08:12:54.175Z - info: [ui] Executing getStatus: git status --untracked-files=all --branch --porcelain=2 -z (took 1.182s)

<!--

There may be some relevant information in log files generated by Kactus:

 - If you are on macOS, attach the most recent log file from:
   `~/Library/Application Support/Kactus/logs/*.kactus.production.log`
 - If you are on Windows, attach the most recent log file from:
   `%APPDATA%\Kactus\logs\*.kactus.production.log`

The log files are organized by date, so see if anything was generated for
today's date.

-->

#### Additional Information

<!--

Any additional information, configuration or data that might be necessary to
reproduce the issue.

If you are dealing with a performance issue or regression, attaching a
[Timeline profile](https://github.com/kactus-io/kactus/blob/master/docs/contributing/timeline-profile.md)
of the task will help the developers understand the runtime behaviour of the
application on your machine.

-->