views: Title stuff.
parts: Cache holstered views for newer Flasks.

Otherwise attempting to re-holster a view multiple times causes an assertion
error, because the wrapper is different on every holstering and that triggers
a safety check inside Flask.
test: Show off one way to get url_for() with extensions.
Write docs on url_for() usage.