added debounce to typing

non-breaking change. jasmine tests altered and passing. added a config option for a debounce time that is set to 300ms. so as the user is typing the `fetch` function will only be called once they stop typing, in order to minimize API calls.