feat(typeahead): Move scope variables into ctrl
feat(typeahead): Add convenience methods

Right now these are private methods.
feat(typeahead): Add queryParsers

queryParsers support promises, which can get interesting...
chore(typeahead): Move out typeaheadMinLength

Using query parsers, this can now be its own directive.
chore(typeahead): Move out waitMs logic

And the magic of promises...