Add debounce_add method to prevent running on every keystroke

As the user types it will keep debouncing and won't run git gutter until either the user has stopped typing (currently set for 0.1 seconds) or the line count changes, in which case it runs immediately. It should now run once when the user starts typing, once when they finish, and once for each time the line count changes while they type