Ticket #18914 - Object tool customization

This branch adds the ability to easily customize object tools within the admin in much the same way that actions can be added. It solves the use case where it would be nice to have an admin tool (such as Import Spreadsheet) but doesn't require a user to subclass ModelAdmin and maintain additional templates in their project.