Adds per-provider information to omnibox UMA logs.

Adds a fairly general structure to omnibox logs that can be used to pass information (that's not per-result information) from providers to the UMA logs.  Right now it's only used to pass whether the asynchronous pass of a provider has finished, but it will probably be used for other things in the future.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10380007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137288 0039d316-1c4b-4281-b951-d872f2087c98
bool AutocompleteEditModel::MaybeAcceptKeywordBySpace(
    const string16& new_text) {
  size_t keyword_length = new_text.length() - 1;
  return (paste_state_ == NONE) && is_keyword_hint_ && !keyword_.empty() &&
      inline_autocomplete_text_.empty() &&
      (keyword_.length() == keyword_length) &&
      IsSpaceCharForAcceptingKeyword(new_text[keyword_length]) &&
      !new_text.compare(0, keyword_length, keyword_, 0, keyword_length) &&
      AcceptKeyword();
}

bool AutocompleteEditModel::MaybeAcceptKeywordBySpace(
    const string16& new_text) {
  size_t keyword_length = new_text.length() - 1;
  return (paste_state_ == NONE) && is_keyword_hint_ && !keyword_.empty() &&
      inline_autocomplete_text_.empty() &&
      (keyword_.length() == keyword_length) &&
      IsSpaceCharForAcceptingKeyword(new_text[keyword_length]) &&
      !new_text.compare(0, keyword_length, keyword_, 0, keyword_length) &&
      AcceptKeyword();
}
