Bug 1042943 - Allow users to switch search engine

Instead of using a lock, I think we should just make sure we always call getDefault and setDefault from the same thread (I think it would be fine to do this on the main thread). It looks like we always call these methods from the main thread, except where we call setDefault above in staticInit. However, I think we could update staticInit to use an async task to update this on the main thread.