Introduction of NavigationDrawer
 - add navigation drawer to main_fragment_layout.xml
 - add NavigationItem interface - it defines the way every element in
the NavigationDrawer should "look" in order for our application to
automatically add it to NavigationDrawer "menu", and to handle it's
events
 - create the NavigationManager
	- add constructor and initialize the list of NavigationItems you will
use
	- make NavigationManager a singleton (because in MainActivity you only
need one instance to handle navigation throughout the application)
	- add setDependencies (it needs the activity to handle events,
drawerList i.e. the list on which you add your navigation items and a
drawer layout itself)
	- add drawer_list_item.xml which is a list on which is used as a design
of the drawerList
	- add two strings to strings.xml, descriptions of the open and close
navigation event
	- add getNavigationOptions - returns all the options by name (it is
used to collect names of the items in the list) 
	- add a setup method which 1) binds our drawer_list_item.xml with
drawerList through a navigation adapter, 2) add an onItemClickListener
to handle clicking on an navigation item and 3) enable a application
icon to act as a button which opens navigation drawer menu.
	- add a selectItem method which handles switching the fragment
depending on the item you have chosen
	- add a switchFragment method (actually does the fragment replacement)
	- add support methods:
		- getDrawer 
		- isEmpty 
		- addItem - adds a new NavigationItem class to your NavigationDrawer 
 - bind NavigationManager with MainActivity (add an variables,
onPostCreate, onConfigurationChanged, handle click in the menu and
finally get instance and setup in the OnCreate), don't forget to hide
application icon in styles.xml