[Android] Sort custom search engines based on last visited time and display only top 5 most recently visited engines

On Android, all visited custom search engines are shown in the same
order provided by TemplateULService.

New design wants to sort the custom search engines based on their
last visited times and display only top 3 most recently visited engines
within 2 days.

Add logic in LoadTemplateURLs() to sort custom search engines based on
the last_visited field and remove redundant engines if there are more
than 3 engines return false for ShowInDefaultList() and visited within
2 days.

BUG=348360

Review-Url: https://codereview.chromium.org/2555513003
Cr-Commit-Position: refs/heads/master@{#439251}
6 files changed