* For #4396 - Rename BookmarkInteractor methods
Following the naming model used in other Interactors this too will use reactive
method names in the form of "on..." instead of the previous imperative model.
Kept the imperative naming model for the methods from `SelectionInteractor` as
they are a new addition and I'm not sure about the future direction.
* For #4396 - Add a BookmarkController
It abstracts the Fragment behavior in a contract through which various
Interactors can inform about the specific View changes and can ask for
modifications in their container Fragment.
This contract and it's implementation - `DefaultBookmarkController` are the
result of extracting the container Fragment's business logic from
`BookmarkFragmentInteractor` in it's own standalone component.
* For #4396 - Refactored Bookmark related tests
Added a new `BookmarkControllerTest` tests class which complements the new
`BookmarkController` to ensure that it properly operates on `BookmarkFragment`
Also refactored the existing `BookmarkFragmentInteractorTest` to accommodate
`BookmarkFragmentInteractor`'s now more specialized behavior.
The user has the option to go to 'Shortcuts' -> 'Search engine settings' to
modify the default search engine. When returning from that settings screen we
need to update it to account for any changes.
For this we will check the current default engine against a previously stored
value in a newly added 'defaultEngineSource' property from SearchState class.
Also, I modified 'SearchStoreTest' by adding the new parameter to the
'SearchState' constructor.
* For #3633 - Adds SearchStore
* For #3633 - Refactors AwesomeBarUIView
* For #3633 - Refactors ToolbarUIView to use lib-state
* For #3633 - Fixes a couple of state bugs
* For #3633 - Moves all user interaction to SearchInteractor
* For #3633 - Adds kdocs to SearchStore and SearchInteractor
* For #3633 - Adds documentation for the properties on SearchState
Also removes uneccessary property
* For #3633 - Creates `StateViewModel` to handle state restoration
* For #3633 - Adds a test for onTextChanged
* For #3633 - Adds tests for SearchInteractor
* For #3633 - Fixes bugs and adds documentation