Add git's global gitignore setting

Issue solved: When using `pt`, I expect it to match `ag` behavior.  I tried out `pt` and noticed that it does not respect git's global gitignore setting. The behavior in `ag` is that it executes `git config -z --get core.excludesfile` and if there's a global gitignore file, it will use those ignored files as part of it's ignored file list.

Solution: Execute git command to check if there's a global gitignore setting.  If so, use that as a filter for ignoring files.

Credit for idea and git commands: https://github.com/ggreer/the_silver_searcher/pull/175.

Design questions/items needing revision:

- I'm relatively new to golang, if there are stylistic changes to better fit this project please let me know.
- I placed the behavior for global gitignore in the same file where `#addHomePtIgnore` is located. Is there a better location?
- I'm uncertain how to test this behavior, but if you like the patch I'll either research it further or take your advice on testing.
- It's currently tied into the same conditional in `find.go` where we check for `self.Option.NoPtIgnore == false`. Should the global ignore have it's own option rather than being tied into `NoPtIgnore`?

Thank you for building this tool!  I expect this patch will need revision before being included.

Hopefully this PR can start that conversation.

Hmm, this is a bad rebase. I'll edit and push a secondary commit onto my fork. (Shouldn't have the TrimSpace func repeated).