Search by keyword

Fix interfaces for activity - fragment communications.
Implement keyboard input dialog for custom searchs.
BaseFragment is in charge of making sure the activity using its children implements NavigationDrawerCallbacks