use git log --follow on history and blame

Show complete file history even when file has been renamed.

Replaces https://github.com/gitlabhq/gitlabhq/pull/8188
Related to https://github.com/gitlabhq/gitlabhq/pull/7417, https://github.com/gitlabhq/gitlabhq/pull/3502, https://github.com/gitlabhq/gitlabhq/issues/6966, https://github.com/gitlabhq/gitlabhq/issues/1954
Fixes https://github.com/gitlabhq/gitlabhq/issues/7832
Closes https://github.com/gitlabhq/gitlab_git/pull/35
Unused method argument - `skip_merges`. If it's necessary, use `_` or `_skip_merges` as an argument name to indicate that it won't be used.<br>Line is too long. [93/80]