Fix for startup when search engine not set to all

I noticed on my mac book that this made miro crash during startup, since the
_engines attribute wasn't set up.  Fixed the crash and also changed it so we
call calc_urls() lazily.