WIP - gitignore refactor

@Flyingmana I started messing with the `.gitgnore` stuff so it could support globs as noted in #154.

This is a WIP and I just wanted you to see my approach, I don't want to waste loads more time if it's not the approach you'd prefer. If you agree I will add some tests for the `DeployManager` and move the existing gitignore tests over to there.

Let me know your thoughts :+1: