added line numbers to generic log formatter
RFC 6585 HTTP Exceptions
did not include code 511 because it is for use by intercepting proxies
Allow the last callback called to add a callback

This fixes a bug in the finished and response callbacks where if the last/only callback adds another callback, the newly added callback won't be called afterwards.

This is because when it tries to add the callback, it is added to a new list instance because the callbacks list is empty at that time; the check for whether the callbacks list was created didn't previously distinguish between an empty list and not a list.  However, if it is not the last callback in the list, the callbacks list will not be empty and the new callback will be added to the same list and the newly added callback *will* be called.

Because the code as written appears to be trying to support callbacks adding callbacks, this push request modifies the code so that a callback may add another callback whether it is the last one or not.

An alternative approach would be to modify the code so that callbacks cannot add new callbacks, which also would be reasonable.  But I think it's a bug that the behavior depends currently on whether you are in the last/only callback when you try to add another one.
Allow hyphens in project name

Convert hyphens in project_name to underscores in pkg_name
Narrative scifi.
API docs scifi.
Try this impl on and see how it feels.
Try something a little more decoupled and consistent.
Show an example.
Make sure it's possible to still set cache_max_age to None even if cache busting is being used.
I kind of like Raydeo's last idea.
Fix broken tests.
Test coverage for pyramid.config.views
Make sure md5 checksum works for non-package assets.
Use the framework, Luke.
Unused import.
Test coverage for static.
Handle list of tuples as query string.
Fix infinite loop in PY3.