Cache the query results for the duration of the request when populating snippet widgets. 2x speedup for DR pages that use snippets heavily for their original purpose, with many map locations that need the same snippets
Added a copy button for all types of snippets, at long last, as promised on the DR project.

This button makes a copy with a title and slug that reflect the fact that it is a copy. The behavior around titles and slugs is deliberately very similar to what happens if you copy a file in the Mac Finder.

Your new copy exists in the database immediately, much like a copied file. For 0.5 we should talk about whether we like this or would prefer that it not really exist until you save it. I did it this way for stability's sake since we're adding this feature to the existing 0.4 codebase for DR and it required the least new code this way.

For pragmatic reasons I added this to the buttons in the edit view for an individual snippet. Specifically I can do that without any new design elements or assets. The manage view would require me to introduce a button style that works in the list view there and we are changing that view a lot anyway in 0.5.
0.5.6
Merged typeSettings with the page object
Merge from upstream