Code Snippet management

For Issue #162

This adds support for Code Snippets via Alcatraz.  It follows the format of Templates, so that you are installing a collection of Snippets rather than single Snippet.

To solve the issue where UUIDs can collide when installing Snippets, I just generate a new one and install.  The changes of collisions is very low. We could make it guaranteed to not collide by checking against all the snippets already installed.

Small Note: I think there is room for improvement to make adding another Package type to the UI simpler, but I was impressed on how simple it was to add the Snippets.
@supermarin @kattrali I'm never sure what these copyright notices really mean, is it ok to have different parts of the codebase to have different copyright owners?