Don't show bookmark items that have not been visited in the "History" section
of the awesome bar. This is done by adding a date check on the SQL query for
the history items.
Also, when the history is empty, a dummy "Bookmarks" item with no URL appears
in the Bookmarks database. Prevent this entry from showing up in the Awesomebar
UI by filtering out rows with a zero-length URL.
If the history is empty, then some data structures don't get initialized and
this results in an NPE. Ensure that the data structures wherever used, and do
an early exit so we don't uselessly run code when the history is empty.