Use RecipeBookBase as parent class for RecipeBooks

 * CloudRecipeBook does not use RecipeBookBase
 * 2 hook methods were added to RecipeBookBase to
	accommodate LocalCache. These might be useful
	elsewhere later.
 * This makes a bunch of tests start passing too :)
Add RecipeBookBase to UML.
Update RecipeBook Interface to match UML.

Also clean up imports in RecipeBook implementers.