Merge pull request #3 from drocco007/feature/contingent

Use Builder to manage build process for the blog example
Turn "contingent" into an installable package
Make recompute() responsible for cache updates

This is a huge change but it seems sensible: the only call to rebuild()
anywhere in the code already updated the cache manually.  Now that I
want to forcibly call rebuild() on things like files that I can see have
just been edited, it seems that the call should clearly have the cache
update step built in.
Hone verbose reporting: only print recomputes
Move todo management to Builder.
Merge pull request #4 from drocco007/feature/contingent-move-todo

Move todo management to Builder.
Simplify the builder to not need a separate Cache
Delimit rendered blog posts more clearly on screen
Remove old code; add _get_from_cache() method
Move push/pop of the current task into a method
Revise code to speak of "inputs", "consequences"
Remove a method stub that is no longer used
Get the first half of the chapter working again
Get the second half of the chapter working again
Refine transition from Graph to Builder
Begin documenting example1
Refactor example1 compute/call into a class
Minor text tweaks
Supporting text for the Builder-driven blog
Introduce overall architecture, responsibility allocation