WIP: Alert Visualization and Encapsulation for Rubric Changes

@wedaly 
For i18n, it's the responsibility of the caller to ensure strings are translated before they are passed into this function.  On the JavaScript side, there's a function available on every page called `gettext` that will perform this lookup.  Some technical details about that are available in the [Django docs](https://docs.djangoproject.com/en/1.4/topics/i18n/translation/#internationalization-in-javascript-code)