Added recipe editing pages.
Specifically:
* Added "add new recipe" link to recipes.html template.
* Added "edit recipe" link to recipe.html template.
* Added new template: edit-recipe.html
* Added new Server.edit() and sub-functions.
* Moved Cookbook's save dir definition to Cookbook.save_dir.
* Moved Recipe.path name generation to Cookbook._free_path().
* Cookbook.make_index() now adds paths to Recipes with .path == None.
* In-memory updates for everything.
* Add/remove ingredient blocks with index mapping.
Along the way, I fixed up some random bugs:
* recipe.html was failing if there were no ingredient_blocks or directions.
* Amount.__unicode__ was failing if some attributes were None.
* Ingredient.__unicode__ was failing if .amount was None.
* Allow printing of recipes when .directions == None.
I also made a few style fixes:
* Server.tag_regexp -> ._tag_regexp, since it's internal data.